Sie sind auf dem richtigen Weg, aber Sie haben einen Schritt aufgrund einer mehrdeutigen Formulierung in der anderen Antwort falsch verstanden:
Sie tun also im Wesentlichen Folgendes:
mysql> rds-modify-db-parameter-group ...
Aber Sie sollten stattdessen Folgendes tun:
$ rds-modify-db-parameter-group ...
Es ist keine MySQL-Anweisung, sondern ein Shell-Befehl. RDS-Instanzen haben keinen Shell-Zugriff, daher benötigen Sie einen anderen Computer, um diesen Befehl auszuführen. Typischerweise könnte dies eine EC2-Instanz sein, also nehme ich an, dass der Autor des anderen Managers das mit „Ihre Instanz“ gemeint hat, aber es könnte jede Maschine sein, die den Tools für die RDS-Befehlszeilenschnittstelle installiert .
Sie können dies auch über die RDS-Konsole .
Beachten Sie auch, dass Sie dies auch etwas prägnanter machen könnten, indem Sie die gespeicherte Prozedur vollständig und sogar den Test für rdsadmin vermeiden , indem Sie init_connect setzen zu:
SET @@time_zone = '+5:30'
Der rdsadmin Benutzer sollte immun gegen init_connect sein weil es den SUPER hat Privileg.
Wenn Sie lieber auf rdsadmin testen möchten sowieso...
SET @@time_zone = CASE
WHEN CURRENT_USER() LIKE 'example@sqldat.com%' THEN @@time_zone
ELSE '+5:30' END
Das Setzen einer Variablen auf dieselbe Variable lässt den Wert unverändert.
Beachten Sie @@time_zone und SESSION time_zone sind gleichwertig.