MySQL 8.4 Release Notes
19.5.1.33 复制和时区
默认情况下,源服务器和副本服务器假设它们在同一个时区。如果您在不同时区的服务器之间复制数据,必须在源服务器和副本服务器上设置时区。否则,依赖于源服务器本地时间的语句将无法正确复制,例如使用NOW()
或FROM_UNIXTIME()
函数的语句。
验证您的系统时区设置(system_time_zone
)、服务器当前时区(全局值time_zone
)和会话时区(会话值time_zone
)在源服务器和副本服务器上是否正确。特别是,如果time_zone
系统变量设置为SYSTEM
,表示服务器时区与系统时区相同,这可能会导致源服务器和副本服务器应用不同的时区。例如,源服务器可能在二进制日志中写入以下语句:
SET @@session.time_zone='SYSTEM';
如果源服务器和副本服务器的系统时区设置不同,这个语句在副本服务器上可能会产生意外结果,即使副本服务器的全局time_zone
值已经设置为匹配源服务器的设置。关于MySQL Server的时区设置和更改方法,请参阅第7.1.15节,“MySQL Server Time Zone Support”。