Je bent op de goede weg, maar je hebt een stap verkeerd begrepen vanwege dubbelzinnige formuleringen in het andere antwoord:
Je doet dus eigenlijk dit:
mysql> rds-modify-db-parameter-group ...
Maar in plaats daarvan zou je dit moeten doen:
$ rds-modify-db-parameter-group ...
Het is geen MySQL-statement, het is een shell-commando. RDS-instanties hebben geen shell-toegang, dus u hebt een andere machine nodig om deze opdracht uit te voeren. Meestal kan dit een EC2-instantie zijn, dus ik neem aan dat de auteur van de andere beheerder dat bedoelde met "uw instantie", maar het kan elke machine zijn met de RDS-hulpprogramma's voor de opdrachtregelinterface geïnstalleerd .
U kunt dit ook doen vanuit de RDS-console .
Merk ook op dat je dit ook wat beknopter zou kunnen doen, door de opgeslagen procedure helemaal te vermijden en zelfs de test voor rdsadmin , door init_connect . in te stellen naar:
SET @@time_zone = '+5:30'
De rdsadmin gebruiker moet immuun zijn voor init_connect omdat het de SUPER . heeft voorrecht.
Als u liever test voor rdsadmin hoe dan ook...
SET @@time_zone = CASE
WHEN CURRENT_USER() LIKE 'example@sqldat.com%' THEN @@time_zone
ELSE '+5:30' END
Als u een variabele op dezelfde variabele instelt, blijft de waarde ongewijzigd.
Opmerking @@time_zone en SESSION time_zone zijn gelijkwaardig.