开启binlog

配置/etc/mysql/my.cnf

在[mysqld]下配置

1
2
3
4
5
6
[mysqld]
#开启binlog
log-bin=/var/lib/mysql/log-bin
server-id=1
expire_logs_days=7

重启服务,
这里使用Mariadb

1
2
3
4
5
#旧的centos使用这个,centos7 使用systemctl  service mysql restart
启动MariaDB命令:systemctl start mariadb.service
停止MariaDB命令:systemctl stop mariadb.service
重启MariaDB命令:systemctl restart mariadb.service

如果为docker,则重启docker服务,重启数据库无效

使用

正常运行过程中,会生成日志文件log-bin.000001 log-bin.000002
使用mysqlbinlog工具可以查看文件内容
mysqlbinlog log-bin.000001
如果报错 unknown variable ‘default-character-set=utf8mb4’则需要添加参数--no-defaults
mysqlbinlog --no-defaults log-bin.000001
也可以重定向到新文件mysqlbinlog --no-defaults log-bin.000001 > binlog.sql

也可以使用其他工具

  • 使用MySQL Replication Viewer:
    MySQL Replication Viewer是一个图形界面工具,用于解析和查看Binlog文件,以图形方式展示Binlog的内容和事件。
  • 使用MySqlBinLogAnalyzer:
    MySqlBinLogAnalyzer是另一个开源的Binlog解析工具,可以以图形化的方式呈现Binlog的内容,并提供了一些额外的功能,如过滤事件、搜索等。