数据库的备份至关重要,之前的几篇文章也讲解了如何备份MySQL,以及如何搭建MySQL的主从同步策略,同步和备份,我们会经常认为主从同步也可以作为MySQL的备份策略,因此,我们也在这里强调一点: 主从同步不能代替数据库备份 举例说明,如果我们在主数据库上
数据库的备份至关重要,之前的几篇文章也讲解了如何备份MySQL,以及如何搭建MySQL的主从同步策略,同步和备份,我们会经常认为主从同步也可以作为MySQL的备份策略,因此,我们也在这里强调一点:
主从同步不能代替数据库备份
举例说明,如果我们在主数据库上误删了一个table,那么从数据库也会执行相应的操作,如果没有备份,这就会导致删掉的数据就无法找回。(即使回滚二进制日志也不一定能找回,因为二进制日志的保存是有时间限制的,并且回滚二进制日志非常复杂)。
因此数据库的完全备份、增量备份是至关重要的。
备份策略
1. 每天进行数据库备份。
mysqldump --master-data --single-transaction -R --databases [db1] [db2] [db3] | gzip -9 - | pv >all-db-with-master-data-$(date +%Y%m%d).sql.gz
2. 将每天的备份同步到从服务器上,以便随时进行从数据库的搭建。
数据库的恢复
1. 恢复主数据库。
将master-data生产的从数据库信息注释掉,然后恢复即可。
2. 恢复从数据库。
使用备份的数据文件,恢复从数据库,然后启动slave即可。
start slave;
云备份
定期将备份的数据库传至百度云或者其他云盘,能保证数据的存储,以防万一服务器崩溃。
PS: 百度云的同步脚本可以在网上搜到,或者将数据传到挂载百度网盘的windows服务器,这样百度网盘可以自动同步。
相关链接:
Drupal数据库备份以及MySQL备份策略
MySQL InnoDB数据库备份与还原
如何添加新数据库到MySQL主从复制列表
在Drupal的数据库层应用MySQL Master/Slave
原文地址:MySQL数据库备份策略与恢复, 感谢原作者分享。