Come posso attivare funzioni, procedure e trigger per l’istanza database Amazon RDS per MySQL?

3 minuti di lettura
0

Desidero attivare funzioni, procedure e trigger per l’istanza database Amazon Relational Database Service (Amazon RDS) per MySQL.

Soluzione

Amazon RDS è un servizio gestito e non fornisce l'accesso al sistema (privilegi di SUPERUTENTE). Se attivi la registrazione binaria, imposta log_bin_trust_function_creators su true nel gruppo di parametri database personalizzato (DB) per la tua istanza database.

Se crei un'istanza database e non specifichi un gruppo di parametri database, Amazon RDS creerà un nuovo gruppo di parametri database predefiniti. Per maggiori informazioni, consulta la sezione Working with parameter groups.

Per attivare funzioni, procedure e trigger per le istanze database di Amazon RDS per MySQL, completa i seguenti passaggi:

  1. Crea un gruppo parametri database.
  2. Modifica il gruppo di parametri database personalizzati, quindi imposta il parametro: log\ _bin\ _trust\ _function\ _creators=1
  3. Scegli Salva modifiche.
    Nota: prima di utilizzare il gruppo di parametri database con un'istanza database, attendi almeno 5 minuti.
  4. Nel riquadro di navigazione, scegli Database.
  5. Scegli l'istanza database da associare al gruppo di parametri database.
  6. Scegli Modifica.
  7. Seleziona il gruppo di parametri da associare all'istanza database.
  8. Riavvia l'istanza database.

Nota: il nome del gruppo di parametri cambia immediatamente, ma le modifiche al gruppo di parametri non vengono applicate finché non si riavvia l'istanza senza failover.

Se utilizzi già un gruppo di parametri personalizzato, completa solo i passaggi 2-3. Il parametro log_bin_trust_function_creators è un parametro dinamico che non richiede il riavvio del database.

Quando si attiva il backup automatico per un'istanza database MySQL, si attiva anche la registrazione binaria. Quando 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)"

Se ricevi questo errore, imposta il parametro log_bin_trust_function_creators su 1. Ciò consente funzioni, procedure e trigger sull'istanza database. Se continui a ricevere errori di accesso negato dopo avere impostato il parametro su 1, consulta la sezione 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?

Nota: quando si imposta log_bin_trust_function_creators=1, gli eventi non sicuri potrebbero essere scritti nel log binario. La registrazione binaria è basata su istruzioni (binlog_format=STATEMENT).

Per maggiori dettagli sul parametro log_bin_trust_function_creators, consulta la sezione log_bin_trust_function_creators e Stored program binary logging sul sito Web di MySQL.

Informazioni correlate

Modifying parameters in a DB cluster parameter group