Linux-查看mysqlbinlog二进制binlog日志

提示:
1、binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语句。
2、操作之前先确认是否开启mysqlbinlog日志:
存放目录:/etc/my.cnf (或直接通过常用命令查看开启状态)

# vim /etc/my.cnf

存在log-bin=mysql-bin说明已开启mysqlbinlog日志;
mysqlbinlog日志文件名称类似:mysql-bin.000018



binlog常用命令


提示:必须使用root用户登陆mysql

1、 查看日志开启状态:

show variables like 'log_%';

show variables like 'log_bin';

在这里插入图片描述
ON 代表开启;OFF 代表没有开启;

2、 查看所有binlog日志:

show master logs;

show binary logs;

在这里插入图片描述

3、 查看最新binlog日志:

show master status;

在这里插入图片描述

4、 刷新binlog日志(产生一个新编号的binlog日志文件):

 flush logs;

5、 清空所有binlog日志:

reset master;

二、mysqlbinlog日志查看

1、查看mysqlbinlog位置:

# which mysqlbinlog  

# find / -name 'mysqlbinlog'  

在这里插入图片描述

2、查看mysqlbinlog日志:

# /usr/bin/mysqlbinlog /www/server/data/mysql-bin.000018 

在这里插入图片描述
提示:如果binlog日志过大可以考虑打包下载下来

3、根据时间段把二进制mysqlbinlog日志转化成sql文件:

# /usr/bin/mysqlbinlog --no-defaults --database=databasename  --base64-output=decode-rows -v --start-datetime='2021-09-11 22:10:00' --stop-datetime='2021-09-15 23:50:00'  /www/server/data/mysql-bin.000018 > testbinlog025.sql

提示:文件过大可以压缩处理:

# zip -r test.zip filename
Logo

更多推荐