MySQL主主同步

双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。对任何一 个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致。 这样做的好处多。 1. 可以做灾备,其中一个坏了可以切换到另一个。 2. 可以做 负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。 对于异地热 备,尤其适合灾备。以下架构,可以在双主上实现负载均衡,也可以利用 keeplived实现vip访问。

解决主键自增长变量冲突

master1:

 auto_increment_increment =2   # 自增ID的间隔 1 3 5 间隔为2
 auto_increment_offset=1       # ID的初始位置
 log-bin=mysql-bin
 log-slave-updates


master2:
 auto_increment_increment =2   # 自增ID的间隔 2 4 6 间隔为2
 auto_increment_offset=2       # ID的初始位置
 log-bin=mysql-bin
 log-slave-updates

存在问题: 可能master2在写入数据的时候,不会从2开始,可能会从6开始,接master1最大的ID后面插入,形成6 8 10

在主从同步已经建好的情况下: