我目前正在使用主从复制,在应用程序级别将读和写分离开来.目前实现的唯一一种故障转移是对主故障的应用程序级检测,使从站成为新的主站,从而使应用程序能够不受干扰地运行。正如人们所能猜测的那样,切换回、同步、整理等等都是一项艰巨的工作。
我已经搜索了很多文章,并阅读了几十篇文章,但是我没有找到一个HA MySQL的解决方案,如果您有MyISAM表、Mysql集群、Heart节拍/DRBD、Schooner,这些都适合InnoDB专用的设置,但不适合于MyISAM。
我希望有一些建议或真实的经验与医管局的设置。它不需要是开源的(免费阅读),它只需要工作。
发布于 2012-02-02 14:04:12
我们使用MMM与循环复制相结合。
我们有两个MySQL服务器(foo-db1、foo-db2),每个服务器都是另一个服务器,因此将向另一个服务器发送任何一个服务器的更新:
http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html
现在每个实例都有了数据,我们发现最好只写一个。为此,我们在不同的服务主机名(Foo)下创建一个虚拟IP (vIP),客户端向其发送插入和更新。在Debian下,您将安装"mysql-mmm-agent“包,通常遵循以下指南:
http://mysql-mmm.org/mmm2:guide
我们在我们的大多数网站上使用这种配置:两个前端web服务器与两个后端数据库服务器对话。MMM监视器运行在一台web服务器上(其中一台服务器由心跳决定):
www.howtoforge.com/high-availability-load-balancer-haproxy-heartbeat-debian-etch
因此,总之:使用循环复制确保两个(或更多?)MySQL服务器是同步的;使用MMM控制数据库服务vIP所在的位置;使用心跳确保MMM代理一次只在一台机器上运行。
https://serverfault.com/questions/355208
复制相似问题