Beim Versuch, einen Trigger in RDS zu erstellen, erhalte ich eine Fehlermeldung bezüglich der binären Protokollierung

Beim Versuch, einen Trigger in RDS zu erstellen, erhalte ich eine Fehlermeldung bezüglich der binären Protokollierung

Beim Versuch, einen Trigger in RDS zu erstellen, erhalte ich die folgende Fehlermeldung:

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe log_bin_trust_function_creators
variable)

Gibt es eine Möglichkeit, SUPER-Berechtigungen zu erhalten oder die binäre Protokollierung zu deaktivieren?

Antwort1

Ich weiß nicht, ob es eine Möglichkeit gibt, SUPER-Berechtigungen zu erhalten, aber es gibt eine Möglichkeit, die binäre Protokollierung zu deaktivieren (wodurch die Notwendigkeit von SUPER-Berechtigungen zum Erstellen von Triggern entfällt). Dies geschieht durch Setzen der Variablelog_bin_trust_create_function_creatorsbis 1.

  1. Erstellen einer neuen RDS-ParametergruppeAlternativ können Sie Ihre aktuelle Parametergruppe ändern (sofern es sich nicht um die Standardparametergruppe handelt) und die Schritte 3 bis 5 überspringen.
  2. Ändern Sie den Wert log_bin_trust_create_function_creatorsfür diese Parametergruppe auf 1
  3. Ändern Sie auch alle Parameter, die keine Standardwerte in der Parametergruppe haben, die Ihre RDS-Instanz derzeit verwendet. Dies ist notwendig, da eine RDS-Instanz nur einer Parametergruppe zugeordnet werden kann.
  4. Passen Sie Ihre RDS-Instanz so an, dass sie Ihre neue Parametergruppe verwendet.
  5. Warten Sie, bis die Änderung der Parametergruppe im Ereignisprotokoll angezeigt wird
  6. Starten Sie die RDS-Instanz neu. log_bin_trust_create_function_creatorsist als dynamische Variable gekennzeichnet und sollte daher keinen Neustart erfordern, aber ich musste die RDS-Instanz immer neu starten, damit die Änderung wirksam wurde. Vielleicht gibt es einen anderen Weg, aber ich habe ihn nicht gefunden.

verwandte Informationen