【发布时间】:2016-03-19 01:17:41
【问题描述】:
我想为每个会话更改亚马逊 RDS 的时区。 RDS 时区默认为 UTC。 我想把它改成亚洲/加尔各答。
要更改特定会话的时区,我已经定义了过程
DELIMITER |
CREATE PROCEDURE mysql.store_time_zone ()
IF NOT (POSITION('rdsadmin@' IN CURRENT_USER()) = 1) THEN
SET SESSION time_zone = '+5:30';
END IF
|
DELIMITER ;
现在我不知道每次创建新连接/会话时应该如何调用它。
我从给定的链接中获取了参考。我无法运行
rds-modify-db-parameter-group PARAMGROUP --parameters "name=init_connect, value='CALL mysql.store_time_zone', method=immediate"
它给出了错误 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'rds-modify-db-parameter-group PARAMGROUP --parameters "name=init_connect, value=' 附近使用正确的语法
https://stackoverflow.com/a/15198369/3551179
提前致谢。
【问题讨论】:
-
您可能想看看this questions 和this question,因为它们涵盖了RDS 中的时区相当全面。
-
您是否尝试从 MySQL 的命令行运行
rds-modify-db-parameter-group?您必须从操作系统的命令行运行rds-modify-db-parameter-group。见Modifying Parameters in a DB Parameter Group。