MySql 传输/更新(有点具体)

MySql 传输/更新(有点具体)

在发布之前,我浏览了整个网站,但没有找到解决我的问题的帮助,所以我希望有人能帮助我......

事实:

  • 远程服务器上有 30 Gb mysql 数据库(约 20,000,000 行)

  • 数据每周在本地网络(mysql)中更新一次

  • 我需要用远程传输/替换本地更新的数据库

连接速度大约为 2mb(实际 mb,不是 mbps)上传/下载

重点是我不能让远程 mysql 服务器“停机”。到目前为止,我

尝试过:

  • navicat 数据同步 -> 好的,但大约需要 3 天才能完成

  • dbForge -> 好的,但需要 5 天才能完成

  • mysql dump 传输到远程服务器并执行 -> 大约一天,但停机时间很多

  • rsync 文件夹与数据库 /mysql/lib/MY_DATABASE -> 4 小时,但之后我总是需要执行“在远程服务器上 repir”,这大约需要 2 个小时,并且会有很多停机时间

  • mysql dump 从 cl 管道直接转到服务器 -> 现在仍然解决了很多问题

  • 我可以给你更多我尝试过的东西......

  • mysql 复制 -> 缓慢

Anyase,什么是最好的,最好的方法是:

  • 每周刷新远程 mysql

  • 同时实现 0 秒停机时间,服务器负载也不会过大

如果你有任何想法请分享

答案1

本地运行两个 mysql 服务器。

将其中一个本地服务器作为远程服务器的从属副本运行,以便远程服务器上的所有更改在本地都是最新的。

然后,当您需要刷新其他本地服务器时,停止从属本地服务器,复制数据库(使用尽可能最快的本地方法),然后重新启动本地从属服务器,以便它立即再次赶上远程服务器。

您的其他本地服务器现在具有数据库的刷新副本。

我在这个级别上不怎么使用 mysql - 但你可能也可以用单个 mysql 服务器实现这一点,该服务器只是从远程服务器复制单个数据库实例,然后你将该数据库本地复制到同一个 mysql 服务器上的另一个数据库。

相关内容