前言
在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过期清理时间
全量备份
全量备份是增量备份的基础,增量备份需要依赖与全量备份才能恢复。
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 保证备份的一致性 ,采用会话隔离。
增量备份
在全量备份的时候,已经之前的日志清楚,因此只要备份mysqlbin日志就可以 。
rsync -avy /data/mysql/log/mysql-bin.log* /data/backup/2018_10_07/
备份恢复
先全量恢复,将全量压缩文件解压,然后使用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
总结
备份很重要,主要经过多次测试再上线。不然数据丢失,就只能跑路了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.