【发布时间】:2015-04-29 09:54:06
【问题描述】:
我们在 EST 时区有一个主服务器,而从属服务器配置为遵循 IST 时区,但从属服务器上的 mysql 配置为 default_time_zone=EST5EDT 只是为了使两个数据库实例遵循相同的时区,但如果我执行
mysql > Select now();
在两台服务器上我得到相同的值,相比之下,当我使用 now() 在主实例中插入值时,它在主实例的 EST 和从属的 IST 中插入值,这导致主从数据的数据差异列。 以下是我进行的测试
Master : (Having EST as system timezone)
mysql> insert into test_timezone values (1,now());
Query OK, 1 row affected (0.00 sec)
mysql> insert into test_timezone values (2,now());
Query OK, 1 row affected (0.00 sec)
mysql> insert into test_timezone values (3,now());
Query OK, 1 row affected (0.00 sec)
mysql> select * from test_timezone;
+------+---------------------+
| id | date_tz |
+------+---------------------+
| 1 | 2015-02-02 02:53:46 |
| 2 | 2015-02-02 02:53:50 |
| 3 | 2015-02-02 02:53:54 |
+------+---------------------+
Slave : (Having IST as system timezone but mysql default timezone is EST5EDT)
mysql> select * from test_timezone;
+------+---------------------+
| id | date_tz |
+------+---------------------+
| 1 | 2015-02-02 13:23:46 |
| 2 | 2015-02-02 13:23:50 |
| 3 | 2015-02-02 13:23:54 |
+------+---------------------+
3 rows in set (0.00 sec)
那么在插入/更新数据时需要做些什么才能在主从设备上获得相同的时间?
【问题讨论】: