0

我正在创建一个网站,并期待一些正常的使用。我现在正在使用 1 个 Apache 服务器和 2 个 DB 服务器设置系统。我希望任何数据库操作都反映在两个数据库服务器中,以便我可以将 1 台服务器作为备份。现在我该怎么做?

我能想到的方法是:

  1. 从 PHP 在两个数据库中执行相同的操作。这似乎是一个可怕的想法。
  2. 定期更新 1 个数据库并同步两个数据库服务器。这似乎更好。

有没有更好的方法来实现这一目标?在企业中是如何做到的?

4

2 回答 2

0

如果您使用的是 MySQL,则有非常强大的内置复制功能。

查看文档

于 2013-09-17T05:30:37.850 回答
0

一个糟糕的想法是每次发生新操作时都进行备份。没有现代的,也没有旧的应用程序以这种方式工作。甚至Windows System Restore在预定时间进行备份,而不是在每次操作时进行备份。

我建议你制作一个 sql 转储脚本。并安排一个每天运行一次或每天两次的 cron 作业。如果您确实需要立即在服务器上获取数据(假设您需要其中一台数据库服务器崩溃,您的应用程序会立即与备份服务器一起工作),您可以制作一个导入脚本,该脚本将在转储完成后运行。

如果您不是在特殊情况下,当您需要关闭第一个数据库服务器时,打开另一个数据库服务器,您可以将转储的 sql 文件存储在机器上,而不是将它们加载到真实数据库中,如果它们是不需要。

于 2013-09-17T06:04:23.927 回答