Documentation Home

16.4.1.31 复制和时区

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

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

SET @@session.time_zone='SYSTEM';

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

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