MySQL-简单的增量备份

wpabbs 2018-10-08

前言

在MySQL数据库中,备份支持增量备份的。如果每次都使用全量备份,很消耗性能不说,还占用磁盘空间。

MySQL-简单的增量备份


mysql-bin

增量备份是依靠mysql-bin日志生成增量数据,因此,需要打开mysql-bin日志

[mysqld]

binlog_format = MIXED #binlog日志格式

log_bin = /data/mysql/log/mysql-bin.log #binlog日志名

expire_logs_days = 7 #binlog过期清理时间

MySQL-简单的增量备份


全量备份

全量备份是增量备份的基础,增量备份需要依赖与全量备份才能恢复。

mysqldump -uroot -ppassword --all-databases --flush-logs --delete-master-logs --single-transaction | gzip >> /data/backup/2018_10_07/all_dbs_2018_10_07.sql.gz

--flush-logs 为结束当前日志,生成新日志文件;

--delete-master-logs 清除之前的日志,注意,备份之前最好讲日志也增量备份一下

--single-transaction 保证备份的一致性 ,采用会话隔离。

MySQL-简单的增量备份


增量备份

在全量备份的时候,已经之前的日志清楚,因此只要备份mysqlbin日志就可以 。

rsync -avy /data/mysql/log/mysql-bin.log* /data/backup/2018_10_07/

备份恢复

先全量恢复,将全量压缩文件解压,然后使用mysql命令进行导入

MySQL-简单的增量备份

mysql > source /data/backup/2018_10_07/all_dbs_2018_10_07.sql

然后在使用mysqlbin将日志解析成sql语句导入

mysqlbin /data/backup/2018_10_07/mysql-bin.000006 | mysql -u root


总结

备份很重要,主要经过多次测试再上线。不然数据丢失,就只能跑路了。

¥54
购买

相关推荐