mysql使用 replication 做主從,如果從上添加觸發器,insert 語句有 now()時,需要在伺服器啟動項中添加default-time-zone。否則會引發時區問題。
16.4.1.31. Replication and Time Zones
The same system time zone should be set for both master and slave. Otherwise, statements depending on the local time on the master are not replicated properly, such as statements that use the NOW()
or FROM_UNIXTIME()
functions. You can set the time zone in which MySQL server runs by using the --timezone=timezone_name
option of the mysqld_safe
script or by setting the TZ
environment variable. See also Section 16.4.1.14, “Replication and System Functions”.
If the master is MySQL 4.1 or earlier, both master and slave should also use the same default connection time zone. That is, the --default-time-zone
parameter should have the same value for both master and slave.
CONVERT_TZ(...,...,@@session.time_zone)
is properly replicated only if both master and slave are running MySQL 5.0.4 or newer.