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
在主从同步已经建好的情况下: