Ich möchte Funktionen, Prozeduren und Trigger für meine Amazon Relational Database Service (Amazon RDS) for MySQL DB-Instance aktivieren.
Lösung
Amazon RDS ist ein verwalteter Service und bietet keinen Systemzugriff (SUPER-Rechte). Wenn du die Binärprotokollierung aktivierst, setze log_bin_trust_function_creators in der Parametergruppe der benutzerdefinierten Datenbank (DB) für deine DB-Instance auf Wahr.
Wenn du eine DB-Instance erstellst und keine DB-Parametergruppe angibst, erstellt Amazon RDS eine neue Standard-DB-Parametergruppe. Weitere Informationen findest du unter Überblick über Parametergruppen.
Gehe wie folgt vor, um Funktionen, Prozeduren und Trigger für Amazon RDS für MySQL-DB-Instances zu aktivieren:
- Erstelle eine DB-Parametergruppe.
- Ändere die benutzerdefinierte DB-Parametergruppe und lege dann den Wert auf log_bin_trust_function_creators auf 1 fest.
Hinweis: Wenn du log_bin_trust_function_creators=1 festlegst, schreibt Amazon RDS möglicherweise unsichere Ereignisse in das Binärprotokoll. Die Binärprotokollierung basiert auf Anweisungen und sieht dem folgenden Beispiel ähnlich: (binlog_format=STATEMENT).
- Wähle Änderungen speichern.
**Hinweis:**Warte mindestens 5 Minuten, bevor du die DB-Parametergruppe mit einer DB-Instance verwendest.
- Wähle im Navigationsbereich Datenbanken.
- Wähle die DB-Instance aus, die du der DB-Parametergruppe zuordnen möchtest.
- Wähle Ändern.
- Wähle die Parametergruppe aus, die du der DB-Instance zuordnen möchtest.
- Starte die DB-Instance neu.
Hinweis: Der Name der Parametergruppe ändert sich sofort. Amazon RDS wendet die Änderungen der Parametergruppe an, nachdem du die Instance ohne Failover neu gestartet hast.
Wenn du bereits eine benutzerdefinierte Parametergruppe verwendest, führe nur die Schritte 2 und3 aus. Der Parameter log\ _bin\ _trust\ _function\ _creators ist ein dynamischer Parameter, der keinen DB-Neustart erfordert.
Wenn du das automatische Backup für eine MySQL-DB-Instance aktivierst, aktiviere auch die Binärprotokollierung. Sofern du einen Trigger erstellst, wird möglicherweise die folgende Fehlermeldung angezeigt:
„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)“
Wenn du diese Fehlermeldung erhältst, überprüfe den Parameter log_bin_trust_function_creators. Wenn der Parameter nicht auf 1 gesetzt ist, aktualisiere den Wert auf 1. Wenn der Parameter auf 1 gesetzt ist und du immer noch die Fehlermeldung Access denied erhältst, findest du weitere Informationen unter Wie kann ich 1227- und Definer-Fehler beim Import von Daten in meine Amazon RDS für MySQL-DB-Instance mithilfe von mysqldump beheben?
Weitere Informationen zum Parameter log_bin_trust_function_creators findest du unter log_bin_trust_function_creators und Binärprotokollierung für gespeicherte Programme auf der MySQL-Website.
Ähnliche Informationen
Arbeiten mit DB-Cluster-Parametergruppen für Multi-AZ-DB-Cluster