我有一个LAMP(CentOS)服务于大约100个普通CMS(主要是Joomla)站点。我对文件有rsync,但我还希望将数据库备份到另一台服务器 offsite 。
我一直在阅读,我理解你可以将数据库转储到主服务器上,rsync转储然后在备份服务器上导入它们。另一种选择是使用MySQL自己的Replicator。
复制器看起来非常好,但在所有示例中,我都读到主设备和从设备似乎都在同一个局域网上。当您想要通过10mbps连接进行异地复制时,这将如何工作?这个过程真的很重吗?每晚运行一次普通的dump->导入脚本会更好吗?
答案 0 :(得分:0)
您是否有理由希望在场外安装第二台服务器?如果您只是想要备份,那么使用MySQLDump(或许多等价物之一)并将其转储到安全的地方(异地)。如果你想要一个复制的主机用于其他用途,那么MySQL只需要两个主机之间的几个开放端口。所需的连接速度取决于主站上正在更新的数据量。如果你没有更新或者奴隶是滞后的,那么它可以慢一点。它很容易测试和看到。
在奴隶上获得数据的初始副本后,binlogs只包含更改。您是否了解当前在主服务器上更改了多少数据?
答案 1 :(得分:0)
如果你有大量的数据没有改变(我想你的CMS数据是一个多读,少写的情况),那么复制会导致整体流量减少。
复制要求主服务器执行针对从服务器的所有事务,而每晚转储/重建需要您每晚传输所有数据(除非您有更复杂的增量备份解决方案,或者您可能停止复制并且只启动夜间的奴隶;也是一个复杂的解决方案)。
因为复制通过网络发送事务,所以你会发现它不会占用大量带宽,除非你在可能不太可能的CMS中再次发射BLOB。
复制比每晚转储/重建更难设置,需要更仔细地管理。另一方面,备份受益于停机时间,而网络上的停机时间越来越少......
答案 2 :(得分:0)
使用innobackupex(http://www.percona.com/software/percona-xtrabackup/)设置从站。 300-400 mb将在几分钟内备份。它是一个热备份,不需要锁定或关闭主服务器。
您甚至可以将DRBD支持的存储用于辅助位置。