我需要备份 MYSQL 数据库,以便备份数据库尽可能更新,但我不想设置我的 cron 作业以便每 5 分钟复制一次原始数据库,因为这会影响性能。有解决方案吗?我听说过数据库复制,但它会影响原始数据库的性能吗?
答案1
MySQL 主->从复制正是您所需要的。
从属服务器将连接到主服务器,就好像它是另一个仅读取二进制日志的客户端(一旦每个事务都已提交),然后在从属服务器上回复事务,因此主服务器上的开销非常低。
检查 MySQL 复制页面 (http://dev.mysql.com/doc/refman/5.0/en/replication.html)为了进行设置,需要对您的my.cnf
文件进行一些更改
答案2
作为此链接解释主从复制过程通常不会对主服务器造成太大影响。您可以将从服务器用作备份,也可以cron
不时使用它来获取备份(您可以停止从服务器来备份内容,当从服务器恢复时,它会将更改与主服务器同步)。请阅读一下,我认为 MS 复制是您的解决方案。
答案3
在您描述的情况下,MySQL 复制可能会有所帮助,但根本不是“灵丹妙药”。
如果主服务器上发生用户/应用程序错误,比如说错误的“DROP TABLE”语句,它也将被复制到从属服务器上,因此当您尝试回滚到以前的状态时,您会遇到严重的麻烦。
这就是为什么我建议安装数据库从属和继续进行完整备份(通过 mysqldump 或 innobackup)+ 二进制日志备份,这样您就可以在需要时进行时间点恢复(PITR)。
但是,如果主服务器崩溃(硬件或网络故障),从服务器始终允许您快速切换,同时将数据丢失量降至最低。这和在其上运行报告/只读查询是从服务器最有用的功能。
我的看法。
弗兰