前情提要

实验环境

此次实验的环境如下

  • MySQL 5.7.25

  • Redhat 6.10

  • binlog模式采用row模式

前面的一些章节我们对mysqldump常用命令进行了讲解

这个专题的内容为mysqlbinlog命令的详解

mysqlbinlog是MySQL中用来处理binlog的工具

这节内容讲使用mysqldump备份MySQL

下节使用mysqlbinlog 恢复MySQL

1. 备份策略

首先我们设定一个备份策略

1.1 完全备份

首先我们每周日零点进行一次数据库的全备

mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction  --flush-logs
 --set-gtid-purged=OFF  --all-databases   --master-data=2 --triggers --events --routines >/tmp/backup_sunday_0_AM.sql

上述命令备份了所有的数据库,包括触发器,存储过程等

这里可以加上--flush-logs强制刷新日志

1.2 增量备份

其次我们除了周日,每日零点对数据库进行增量备份

采用的方法是进行二进制日志的备份

备份前刷新下日志

也可直接拷贝

具体介绍请看上期内容

mysqladmin -S /data/mysql/data/mysql.sock  -usystem -ppassword flush-logs
mysqlbinlog --read-from-remote-server --host  11.12.14.29 --user system --password  --port 3306  --protocol=tcp   --raw mysql-bin.000001 mysql-bin.000002 mysql-bin.000003  --result-file=/tmp/

这样我们就有了一个完整的备份计划

2. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html

好了 今天的内容就说到这里,下节再见