双机热备的概念简单说一下, 就是要保持两个数据库的状态自动同步. 对任何一 个数据库的操作都自动应用到另外一个数据库, 始终保持两个数据库数据一致. 这样做的好处多. 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
在主从同步已经建好的情况下:
来源: http://www.bubuko.com/infodetail-2907915.html