根据我在网上找到的内容,mysql 将更改数据的语句存储在 bin 日志中,然后由从站读取。尚不清楚的是这些陈述接下来会发生什么?它们是否像在从服务器上发生一样重放?
例如,假设条件中有一个带有当前时间的查询,例如“UPDATE something SET updatedat = NOW()”,并且由于复制延迟,查询在几秒钟后在从属设备处结束。表中的值会不同吗?
或者,如果存在主-主复制,则在时间 1000 时,服务器 1 上会发生以下查询:
UPDATE t SET data = 'old', updatedat = 1000 WHERE updatedat < 1000
在服务器 2 上的时间 1001 发生以下查询:
UPDATE t SET data = 'new', updatedat = 1001 WHERE updatedat < 1001
然后服务器 2 从服务器 1 获取复制日志,服务器 2 上的值将是“旧”?如果是这样,有没有办法避免它?