Current_Timestamp 在触发器中使用基于语句的复制

Current_Timestamp in Trigger with Statement Based Replication

我们目前在 MySQL 数据库上使用触发器,将 "last-modified" 时间戳设置为 CURRENT_TIMESTAMP。它在更新时被调用。

我们还需要为集群使用基于语句的复制。

有没有办法修改触发器,使传播的 CURRENT_TIMESTAMP 在每个集群实例上都相同?

目前基于语句的复制为每个集群实例调用语句,导致时间戳略有不同。

您必须切换到混合 binlog 格式,以便在 binlog 中不仅保存语句,还保存非确定性写入的数据。

您可以通过以下方式在不中断服务的情况下做到这一点:

SET GLOBAL binlog_format = 'MIXED';

在生成二进制日志的主服务器上。