MySQL 9.0 发行说明
默认情况下,源服务器和副本服务器假定它们在同一时区。如果您在不同时区的服务器之间进行复制,则必须在源服务器和副本上都设置时区。否则,依赖源服务器本地时间的语句将无法正确复制,例如使用 NOW()
或 FROM_UNIXTIME()
函数的语句。
验证系统时区设置 (system_time_zone
)、服务器当前时区(time_zone
的全局值)和每个会话时区(time_zone
的会话值)的组合是否在源服务器和副本上产生了正确的结果。特别是,如果 time_zone
系统变量设置为值 SYSTEM
,表示服务器时区与系统时区相同,这会导致源服务器和副本应用不同的时区。例如,源服务器可以在二进制日志中写入以下语句
SET @@session.time_zone='SYSTEM';
如果该源服务器及其副本的系统时区设置不同,即使副本的全局 time_zone
值已设置为与源服务器匹配,此语句在副本上也可能产生意外结果。有关 MySQL 服务器时区设置的说明以及如何更改它们,请参阅 第 7.1.15 节,“MySQL 服务器时区支持”.
另请参阅 第 19.5.1.14 节,“复制和系统函数”.