完全完整的MySQL数据库复制?有想法吗?人们在做什么?
时间:2020-03-05 18:38:06 来源:igfitidea点击:
目前,我有两台运行MySQL的Linux服务器,一台位于我旁边的机架上,位于10 Mbit / s的上载管道下(主服务器),另外几英里位于3 Mbit / s的上载管道(镜像)上。
我希望能够连续在两台服务器上复制数据,但是遇到了很多障碍。其中之一是,在MySQL主/从配置下,不时出现一些语句(!),意思是;有些登录到镜像URL的人看不到我知道在主服务器上的数据,反之亦然。假设这种情况每月在有意义的数据块上发生一次,因此我可以忍受它,并假设它是一个"丢失的数据包"问题(即,上帝知道,但我们会赔偿)。
另一个最重要(也是令人讨厌的)重复出现的问题是,当由于某种原因我们在一端进行了一次重大的上载或者更新(或者重新启动)并不得不切断链接时,那么从MASTER加载数据不起作用,我有手动在一端进行转储并在另一端进行上传,如今完成一项艰巨的任务是移动价值约0.5 TB的数据。
是否有用于此的软件?我知道MySQL("公司")将其作为一项非常昂贵的服务(完整的数据库复制)提供。人们在那里做什么?它的结构方式是,我们运行自动故障转移,如果其中一台服务器未启动,则主URL只会解析为另一台服务器。
解决方案
回答
GoldenGate是一个非常好的解决方案,但可能与MySQL复制器一样昂贵。
它基本上尾随日记,并根据提交的内容应用更改。它们支持双向复制(一项艰巨的任务)以及异构系统之间的复制。
由于它们通过处理日志文件来工作,因此它们可以进行大规模的分布式复制,而不会影响源计算机上的性能。
回答
我从未见过丢弃的语句,但是有一个错误,其中网络问题可能导致中继日志损坏。确保在没有此修复程序的情况下不要运行mysql。
Documented in the 5.0.56, 5.1.24, and 6.0.5 changelogs as follows: Network timeouts between the master and the slave could result in corruption of the relay log.
http://bugs.mysql.com/bug.php?id=26489