Jesteś na dobrej drodze, ale źle zrozumiałeś jeden krok z powodu niejednoznacznego sformułowania w drugiej odpowiedzi:
Tak więc zasadniczo robisz to:
mysql> rds-modify-db-parameter-group ...
Ale zamiast tego powinieneś to zrobić:
$ rds-modify-db-parameter-group ...
To nie jest instrukcja MySQL, to polecenie powłoki. Instancje RDS nie mają dostępu do powłoki, więc do uruchomienia tego polecenia potrzebny jest inny komputer. Zazwyczaj może to być instancja EC2, więc zakładam, że to właśnie autor drugiego menedżera miał na myśli, mówiąc „twoja instancja”, ale może to być dowolna maszyna, która ma Zainstalowane narzędzia wiersza poleceń RDS .
Możesz to również zrobić w konsoli RDS .
Zauważ również, że możesz to zrobić nieco bardziej zwięźle, całkowicie unikając procedury składowanej, a nawet testu dla rdsadmin
, ustawiając init_connect
do:
SET @@time_zone = '+5:30'
rdsadmin
użytkownik powinien być odporny na init_connect
ponieważ ma SUPER
przywilej.
Jeśli wolisz testować dla rdsadmin
w każdym razie...
SET @@time_zone = CASE
WHEN CURRENT_USER() LIKE '[email protected]%' THEN @@time_zone
ELSE '+5:30' END
Ustawienie zmiennej na tę samą zmienną pozostawia wartość niezmienioną.
Uwaga @@time_zone
i SESSION time_zone
są równoważne.