我有2台服务器,他们有不同的时间,我想知道如何使他们都有相同的时间。这是我的时差:
SELECT @@global.time_zone, @@session.time_zone; -- this is my correct time
SELECT now()
它返回以下内容:
SELECT @@global.time_zone, @@session.time_zone;
SELECT now();
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set
+---------------------+
| now() |
+---------------------+
| 2015-12-15 07:04:15 |
+---------------------+
1 row in set
在另一台服务器上我得到了这个(不正确的时间或与另一个不同):
SELECT @@global.time_zone, @@session.time_zone;
SELECT now();
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set
+---------------------+
| now() |
+---------------------+
| 2015-12-15 13:02:05 |
+---------------------+
1 row in set
这是否可能,考虑到正确的服务器在秘鲁,而另一个在西班牙?我在两个服务器上都有Linux,我想知道在我的配置上修改的确切内容(如果有的话)。我也可以通过ssh访问我的服务器,但我有兴趣在我的第二台服务器上使用它。
答案 0 :(得分:0)
我不认为时钟可能会失控那么多,所以系统时区在服务器上必须是不同的,加上大约2分钟的差异,如果它不是由于命令不是同时运行的话那么一个或两个服务器可能没有ntpd
运行和校正系统时钟。
如果它只是系统时区 - 然后更改它,或者如果你只能更改mysql的那个。
如果你甚至无法控制 - 设置会话时区,无论如何这不会改变存储的时间戳,只会改变它们的显示和解析方式。