使用单个命令备份本地数据库并还原到远程服务器

时间:2013-08-04 14:16:50

标签: php mysql vpn database-replication openvpn

我现在read这篇文章。

我需要获取中央数据库备份并将其还原到远程服务器。

在这种情况下,我有43个其他分支服务器和一个中央服务器。

这意味着我将在我的中央服务器中保留44个数据库(要使用VPS)。

那么我可以编写一个PHP脚本来运行相当于以下命令行代码,将我的分支服务器备份到中央服务器吗?

这样我的中央服务器上就有43个数据库可以用43个远程服务器进行恢复。 (我没有与所有43个分支服务器的网络连接或没有VPN)

[local-server]# mysqldump -u root -ptmppassword sugarcrm | mysql \
                 -u root -ptmppassword --host=remote-server -C sugarcrm1
[Note: There are two -- (hyphen) in front of host]

2 个答案:

答案 0 :(得分:0)

我会构建一个先检查连接的脚本然后如果一切正常,那么转移。测试完此脚本后,您可以为43个数据库中的每个数据库调用一次。有些可能会失败,但您的脚本会告诉您哪些(如果它正确报告错误)。然后找出导致任何失败的原因。最终你会得到所有43个。

您最终使用的备份脚本将使用您发布的代码,但它会更通用,并且会进行检查和报告。你工作的时候为什么不把它贴在这里?

Greg Ambrose

答案 1 :(得分:0)

您可能想要考虑使用mysql复制(使用1个主服务器和43个从服务器),而不是像您在此处描述的那样定期进行备份和还原。复制将持续运行,因此43个从站将实时同步到主站。有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html