Current_Timestamp 在触发器中使用基于语句的复制
Current_Timestamp in Trigger with Statement Based Replication
我们目前在 MySQL 数据库上使用触发器,将 "last-modified" 时间戳设置为 CURRENT_TIMESTAMP
。它在更新时被调用。
我们还需要为集群使用基于语句的复制。
有没有办法修改触发器,使传播的 CURRENT_TIMESTAMP
在每个集群实例上都相同?
目前基于语句的复制为每个集群实例调用语句,导致时间戳略有不同。
您必须切换到混合 binlog 格式,以便在 binlog 中不仅保存语句,还保存非确定性写入的数据。
您可以通过以下方式在不中断服务的情况下做到这一点:
SET GLOBAL binlog_format = 'MIXED';
在生成二进制日志的主服务器上。
我们目前在 MySQL 数据库上使用触发器,将 "last-modified" 时间戳设置为 CURRENT_TIMESTAMP
。它在更新时被调用。
我们还需要为集群使用基于语句的复制。
有没有办法修改触发器,使传播的 CURRENT_TIMESTAMP
在每个集群实例上都相同?
目前基于语句的复制为每个集群实例调用语句,导致时间戳略有不同。
您必须切换到混合 binlog 格式,以便在 binlog 中不仅保存语句,还保存非确定性写入的数据。
您可以通过以下方式在不中断服务的情况下做到这一点:
SET GLOBAL binlog_format = 'MIXED';
在生成二进制日志的主服务器上。