mysql复制如何工作?

时间:2012-05-03 10:53:49

标签: mysql replication

从我在网上找到的内容中,mysql存储了更改bin日志中数据的语句,然后由slave读取。尚不清楚的是接下来的那些陈述会发生什么?它们是否重播,好像它们发生在从属服务器上一样?

例如,假设在条件中存在当前时间的查询,例如“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上的值将是“旧”?如果是这样,有没有办法避免它?

1 个答案:

答案 0 :(得分:2)

  

例如,假设在条件中存在当前时间的查询,例如“UPDATE something SET updatedat = NOW()”,并且由于复制延迟,查询在几秒钟后在从属设备处结束。表中的值会不同吗?

没有。复制复制该行,这意味着时间将是相同的