镜像数据库服务器的最佳方法是什么?

时间:2013-09-17 05:25:17

标签: php database apache database-mirroring

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

我能想到的方法是:

  1. 在PHP的两个DB中执行相同的操作。这似乎是一个糟糕的主意。
  2. 更新1个数据库并定期同步两个数据库服务器。这似乎更好。
  3. 有没有更好的方法来实现这一目标?如何在企业中完成?

2 个答案:

答案 0 :(得分:0)

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

查看the docs

答案 1 :(得分:0)

一个可怕的想法是每次新操作发生时备份。没有现代的,也没有旧的应用程序这样工作。即使Windows System Restore在预定时间进行备份,也不在每次操作上进行备份。

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

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