16.4.1.31 复制和时区

默认情况下,源服务器和副本服务器假定它们位于同一时区。如果要在不同时区的服务器之间复制,则必须在源和副本上都设置时区。否则,将无法正确复制取决于源本地时间的语句,例如使用NOW()FROM_UNIXTIME()函数的语句。

验证源和副本服务器上的系统时区(system_time_zone),服务器当前时区(全局值time_zone)和每个会话时区(会话值time_zone)的设置组合是否产生了正确的结果。特别是,如果将time_zone系统变量设置为值SYSTEM,table 示服务器时区与系统时区相同,则可能导致源和副本应用不同的时区。例如,源可以在二进制日志中编写以下语句:

SET @@session.time_zone='SYSTEM';

如果此源及其副本的系统时区设置不同,则即使副本的全局time_zone值已设置为与源的匹配,此语句也会在副本上产生意外结果。有关 MySQL 服务器的时区设置以及如何更改它们的说明,请参见第 5.1.13 节“ MySQL 服务器时区支持”

另请参见第 16.4.1.15 节,“复制和系统功能”