Vous êtes sur la bonne voie, mais vous avez mal compris une étape, en raison d'une formulation ambiguë dans l'autre réponse :
Donc, vous faites essentiellement ceci :
mysql> rds-modify-db-parameter-group ...
Mais vous devriez plutôt faire ceci :
$ rds-modify-db-parameter-group ...
Ce n'est pas une instruction MySQL, c'est une commande shell. Les instances RDS n'ont pas d'accès au shell, vous avez donc besoin d'une autre machine pour exécuter cette commande. En règle générale, il peut s'agir d'une instance EC2, donc je suppose que c'est ce que l'auteur de l'autre gestionnaire voulait dire par "votre instance", mais il pourrait s'agir de n'importe quelle machine qui a le Outils d'interface de ligne de commande RDS installés .
Vous pouvez également le faire depuis la Console RDS .
Notez également que vous pouvez également le faire de manière un peu plus concise, en évitant complètement la procédure stockée et même le test de rdsadmin
, en définissant init_connect
à :
SET @@time_zone = '+5:30'
Le rdsadmin
l'utilisateur doit être immunisé contre init_connect
car il a le SUPER
privilège.
Si vous préférez tester rdsadmin
quand même...
SET @@time_zone = CASE
WHEN CURRENT_USER() LIKE '[email protected]%' THEN @@time_zone
ELSE '+5:30' END
Définir une variable sur la même variable laisse la valeur inchangée.
Remarque @@time_zone
et SESSION time_zone
sont équivalents.