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

时间:2008-08-06 18:24:43

标签: mysql oracle replication

目前我有两个运行MySQL的Linux服务器,一个位于我旁边的机架上,位于10 Mbit / s上传管道(主服务器)下,另一个位于几英里外的3 Mbit / s上传管道(镜像) )。

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

另一个最重要(也很烦人)反复出现的问题是,由于某种原因,我们在一端进行主要上传或更新(或重新启动)并且必须sever链接,然后从主服务器加载数据不起作用,我必须手动转储一端,上传另一端,这是一项非常重要的任务,现在可以移动一些.5 TB的数据。

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

GoldenGate是一个非常好的解决方案,但可能和MySQL复制器一样昂贵。

它基本上会关闭日记,并根据所提交的内容应用更改。它们支持双向复制(一项艰巨的任务),以及异构系统之间的复制。

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

答案 2 :(得分:0)

我从未见过删除过的语句,但有一个错误,网络问题可能导致中继日志损坏。如果没有这个修复程序,请确保没有运行mysql。

  

在5.0.56,5.1.24和6.0.5更改日志中记录如下:

   Network timeouts between the master and the slave could result
   in corruption of the relay log.

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