Desidero attivare funzioni, procedure e trigger per la mia istanza database Amazon Relational Database Service (Amazon RDS) per MySQL.
Risoluzione
Amazon RDS è un servizio gestito e non fornisce l'accesso al sistema (privilegi SUPERUSER). Se attivi la registrazione binaria, imposta log_bin_trust_function_creators su True nel gruppo di parametri database personalizzato per l'istanza database.
Se crei un'istanza database e non specifichi un gruppo di parametri database, Amazon RDS crea un nuovo gruppo di parametri database predefiniti. Per ulteriori informazioni, consulta Gruppi di parametri per RDS.
Per attivare funzioni, procedure e trigger per istanze database Amazon RDS per MySQL, completa i seguenti passaggi:
- Crea un gruppo di parametri database.
- Modifica il gruppo di parametri database personalizzato, quindi imposta il valore log_bin_trust_function_creators su 1.
Nota: quando imposti log_bin_trust_function_creators=1, Amazon RDS potrebbe scrivere eventi non sicuri nel log binario. La registrazione binaria è basata su istruzioni e ha un aspetto simile all'esempio seguente: (binlog_format=STATEMENT).
- Scegli Salva modifiche.
Nota: prima di utilizzare il gruppo di parametri database con un'istanza database, attendi almeno 5 minuti.
- Nel pannello di navigazione, scegli Database.
- Seleziona l'istanza database che desideri associare al gruppo di parametri database.
- Scegli Modifica.
- Seleziona il gruppo di parametri che desideri associare all'istanza database.
- Riavvia l'istanza database.
Nota: il nome del gruppo di parametri cambia immediatamente. Amazon RDS applica le modifiche al gruppo di parametri dopo il riavvio dell'istanza senza failover.
Se utilizzi già un gruppo di parametri personalizzato, completa solo i passaggi 2 e 3. Il parametro log_bin_trust_function_creators è un parametro dinamico che non richiede il riavvio del database.
Se attivi il backup automatico per un'istanza database MySQL, attivi anche la registrazione binaria. Se crei un trigger, potresti ricevere il seguente messaggio di errore:
"ERROR 1419 (HY000): You don't have the SUPER privilege and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)"
In tal caso, esamina il parametro log_bin_trust_function_creators. Se il parametro non è impostato su 1, aggiorna il valore a 1. Se il parametro è impostato su 1 e continui a ricevere errori Access denied, consulta Come risolvere un errore 1227 o di definer comparso in fase di importazione dei dati su un'istanza database Amazon RDS per MySQL con mysqldump?
Per ulteriori informazioni sul parametro log_bin_trust_function_creators, consulta log_bin_trust_function_creators e Stored Program Binary Logging (Registrazione binaria di programmi archiviati) sul sito web MySQL.
Informazioni correlate
Utilizzo di gruppi di parametri cluster di database per cluster di database Multi-AZ