binlog 简介
MySQL 的二进制日志是通过二进制文件形式记录的,可以通过以下方式设置其格式:
- 打开 MySQL 配置文件(my.cnf),找到 [mysqld] 段,添加以下语句以开启二进制日志功能:
log-bin = /path/to/mysql/binlog/mysql-bin
其中,/path/to/mysql/binlog/
是你想要将二进制文件保存的目录,mysql-bin
是二进制日志文件的前缀。
- 若要设置二进制文件的最大大小,可以添加以下语句:
max_binlog_size = 100M
其中,100M
是最大文件大小,可以根据需要进行调整。
- 若要开启 MySQL 复制功能,则需设置服务器 ID 和二进制日志格式。可以添加以下语句:
server-id = 1
binlog-format = ROW
其中,1
是服务器 ID,可以设置为任意值;ROW
表示使用行级别的二进制日志格式,这是 MySQL 推荐的日志格式,也是能最大限度地保留数据更改的详细信息。
- 在修改完以上配置后,重启 MySQL 服务器,使配置生效。
以上就是 MySQL 二进制日志的基本格式设置,可以通过调整这些设置来更好地控制和管理 MySQL 二进制日志。
1.查看日志
./mysqlbinlog --no-defaults mysql_bin.000697 | less
2.查看日志的sql
./mysqlbinlog --base64-output=decode-rows -v mysql_bin.000697 | less
3.统计各个数据库的表操作
./mysqlbinlog mysql_bin.000697 |grep Table_map | awk -F ' ' '{print $11}' | sort | uniq -c
4.解码到文件中进一步的分析
./mysqlbinlog mysql_bin.000697 > binlog000697.log