一、查看日志文件
MySQL binlog 日志文件为二进制文件,记录了 MySQL 数据库从启用日志以来所有对当前数据库的变更。可通过以下命令查看:
show binary logs;
二、转换为可阅读 SQL 文件
可以通过以下命令将 binlog 转换为可阅读 SQL 文件,从而提取出 SQL 语句来重建当前数据库以及根据需要实现时点恢复或不完全恢复:
mysqlbinlog --base64-output=decode-rows -v /var/lib/mysql/binlog.000003 --result-file=mysql0003.sql
三、可能存在的问题
1.问题描述
mysqlbinlog 执行以下命令生成 SQL 时报错 unknown variable ‘default-character-set=utf8mb4’:
mysqlbinlog --base64-output=decode-rows -v /var/lib/mysql/binlog.000003 --result-file=mysql0003.sql
2.解决方法
(1)修改配置文件
修改配置文件 /etc/my.cnf ,将default-character-set = utf8mb4 改为 character-set-server = utf8mb4,然后重启 MySQL 服务。
(2)带上参数 --no-defaults
运行命令时带上参数 --no-defaults:
mysqlbinlog --no-defaults --base64-output=decode-rows -v /var/lib/mysql/binlog.000003 --result-file=mysql0003.sql