MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0

17.5.1.32 Replication and Time Zones

By default, source and replica servers assume that they are in the same time zone. If you are replicating between servers in different time zones, the time zone must be set on both source and replica. Otherwise, statements depending on the local time on the source are not replicated properly, such as statements that use the NOW() or FROM_UNIXTIME() functions.

Verify that your combination of settings for the system time zone (system_time_zone), server current time zone (the global value of time_zone), and per-session time zones (the session value of time_zone) on the source and replica is producing the correct results. In particular, if the time_zone system variable is set to the value SYSTEM, indicating that the server time zone is the same as the system time zone, this can cause the source and replica to apply different time zones. For example, a source could write the following statement in the binary log:

SET @@session.time_zone='SYSTEM';

If this source and its replica have a different setting for their system time zones, this statement can produce unexpected results on the replica, even if the replica's global time_zone value has been set to match the source's. For an explanation of MySQL Server's time zone settings, and how to change them, see Section 5.1.14, “MySQL Server Time Zone Support”.

See also Section 17.5.1.14, “Replication and System Functions”.