如何查看mysql binlog日志
转载自:https://www.modb.pro/db/244063
业内目前推荐使用的是row模式,准确性高,虽然说文件大,但是现在有SSD和万兆光纤网络,这些磁盘IO和网络IO都是可以接受的。
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景:
其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。
二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。
一、开启binlog
在[mysqld] 区块设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀名);
二、通过mysql的变量配置表,查看二进制日志是否已开启
show variables like 'log_%';
三、binlog日志内容查看
1、mysql查看binlog
show binary logs; #获取binlog文件列表 show master status;#查看当前正在写入的binlog文件 show binlog events; #只查看第一个binlog文件的内容 show binlog events in 'mysql-bin.000002'; #查看指定binlog文件的内容
2、使用mysqlbinlog工具
mysqlbinlog是一个查看mysql二进制日志的工具,可以把mysql上面的所有操作记录从日志里导出,这个工具默认的安装路径为:/usr/local/mysql/bin/mysqlbinlog 可以通过find / -name "mysqlbinlog"命令查找mysqlbinlog的工具路径。
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-03-01 00:00:00" --stop-datetime="2014-03-21 23:59:59" /usr/local/mysql/var/mysql-bin.000007 -r test2.sql
binlog本身是一类二进制文件。二进制文件更省空间,写入速度更快,是无法直接打开来查看的。因此mysql提供了命令mysqlbinlog进行查看。一般的statement格式的二进制文件,用下面命令就可以
mysqlbinlog mysql-bin.000001
如果是row格式,加上-v或者-vv参数就行,如
mysqlbinlog -vv mysql-bin.000001
posted on 2022-06-08 09:25 wenbin_ouyang 阅读(3067) 评论(0) 编辑 收藏 举报