在AWS EC2实例上将MySQL时区设置为UTC

时间:2014-03-15 23:28:54

标签: mysql amazon-ec2 amazon-rds

我正在将AWS RDS数据库移动到EC2框。当我尝试导入从RDS服务器导出的sql文件时,出现错误,显示为

Unknown or incorrect time zone: 'UTC'

我检查了EC2框中的@@global.time_zone@@session.time_zone变量,并将它们设置为'system'。我的RDS服务器上的相同变量设置为“UTC”。

我尝试使用以下命令在我的EC2服务器上设置这些变量:

SET @@global.time_zone = 'UTC';
SET @@session.time_zone = 'UTC';

我从运行这些SET语句得到了相同的Unknown or incorrect time zone: 'UTC'。然后我跑:

SET @@global.time_zone = '+00:00';
SET @@session.time_zone = '+00:00';

基本上将系统设置为UTC。但是当我查找@@global.time_zone@@session.time_zone个变量时,它们会读取+00:00并在尝试导入我的sql文件时遇到同样的错误。

如何将EC2 MySQL服务器设置为UTC时间?还有另一种方法可以将我的数据库从我的RDS实例成功转移到EC2吗?

1 个答案:

答案 0 :(得分:2)

您报告的行为使其听起来像未加载时区表。 (MySQL的默认安装不会加载这些表。)

加载MySQL时区表的说明如下:

1 http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

如果未加载这些表,则您将无法使用命名时区,但“+0:00”等时区值将起作用。

要在启动时保持实例time_zone“设置”,您需要在my.cnf文件的mysqld部分设置default_time_zone变量。