完整的MySQL数据库复制?想法?人们做什么?

目前,我有两台运行MySQL的Linux服务器,一台在10 Mbit / s的上传管道(主服务器)下,另一台在3 Mbit / s的上传管道(镜像)上。

我希望能够连续复制两台服务器上的数据,但遇到了几个障碍。其中之一就是,在MySQL主/从配置下,偶尔会有一些语句放下(!),意思是说;某些登录到镜像URL的用户看不到我知道在主服务器上的数据,反之亦然。假设这发生在每个月一次有意义的数据块上,所以我可以忍受它并假设它是一个“丢失包”问题(即上帝知道,但我们会赔偿)。

另一个最重要的(也是令人讨厌的)反复出现的问题是,由于某种原因,我们在一端进行主要的上传或更新(或重新启动),并且必须 sever 链接,然后LOAD DATA FROM MASTER不起作用,我必须手动转储一端并上载另一端,现在相当一项任务是移动一些.5 TB值得的数据。

有这个软件吗?我知道MySQL(“公司”)将此作为非常昂贵的服务(完全数据库复制)提供。那里的人做什么?它的结构,我们运行一个自动故障转移,如果一个服务器没有启动,那么主要URL就会解析到另一个服务器。

0
额外 作者 svrist,

3 答案

GoldenGate is a very good solution, but probably as expensive as the MySQL replicator.

它基本上是对期刊的尾巴,并根据所承诺的内容应用更改。它们支持双向复制(一项艰巨的任务),以及异构系统之间的复制。

由于它们通过处理日志文件来工作,因此它们可以执行大规模分布式复制而不会影响源计算机上的性能。

0
额外

我们Percona提供免费工具来检测主服务器和服务器之间的差异,并通过重新应用最小的更改来让它们重新同步。

0
额外

我从来没有看到过丢弃的声明,但有一个网络问题可能导致中继日志损坏的错误。确保你不运行没有此修复程序的MySQL。

在5.0.56,5.1.24和6.0.5更新日志中记录如下:
 主站和从站之间的网络超时可能会导致
   在中继日志的腐败中。
</代码> 

http://bugs.mysql.com/bug.php?id=26489

0
额外