我已经设置了普通(非集群,ndb)双服务器 Mysql 主主复制,以实现高可用性。每台服务器都有一个可以更新本地数据库的应用程序,更改通过复制传播到另一个数据库。
两个应用程序都可能对同一数据项进行更新,在复制过程中,较新的应用程序会覆盖较旧的应用程序。Mysql Cluster 使用“相同值获胜”冲突解决设置解决了此问题。
是否可以为非集群(ndb)复制设置类似或相同的冲突解决规则?
答案1
因此,经过几天的调查,答案似乎是“否”——Mysql 复制不支持更新冲突解决方案选项,就像 Mysql 集群中提供的一样。我只是找不到一个可以指向正确方向的设置或选项。
不幸的是,Mysql Cluster 对我来说不是一个选择,因为它至少需要 3 台服务器(2 台工作服务器、1 台管理员服务器),而我正在运行一个 2 服务器系统。
我确实研究了半同步复制(MySQL 5.5),但这也没有更好的冲突解决方案。
最后我不得不回头重新构思这个申请,以尽量减少/避免冲突的风险。