MySQL 8.3 Release Notes
默认情况下,源服务器和副本服务器假设它们在同一个时区。如果您在不同的时区之间复制服务器,必须在源服务器和副本服务器上设置时区。否则,依赖于源服务器本地时间的语句将不会被正确复制,例如使用 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 服务器时区支持”。