在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据。
线上数据库备份场景:
每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份.
下面对这种备份方案详细说明下:
1.MySQLdump增量备份配置
执行增量备份的前提条件是MySQL打开binlog日志功能
“log-bin=”后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘上。
2.MySQLdump增量备份
假定星期日下午1点执行全量备份,适用于MyISAM存储引擎。
[root@test-root ~]# MySQLdump --lock-all-tables --flush-logs --master-data=2 -u root -p test > backup_sunday_1_PM.sql
对于InnoDB将--lock-all-tables替换为--single-transaction
--flush-logs为结束当前日志,生成新日志文件;
--master-data=2 选项将会在输出SQL中记录下完全备份后新日志文件的名称,
用于日后恢复时参考,例如输出的备份SQL文件中含有:
CHANGE MASTER TO MASTER_LOG_FILE=’MySQL-bin.000002′, MASTER_LOG_POS=106;
3.MySQLdump增量备份其他说明:
如果MySQLdump加上–delete