先确认binlog是否开启,再用SHOW命令查看日志文件和状态,最后通过mysqlbinlog工具解析内容。具体步骤:1. 执行SHOW VARIABLES LIKE ‘log_bin’确认binlog状态;2. 使用SHOW BINARY LOGS查看日志文件列表;3. 运行SHOW MASTER STATUS获取当前日志文件及位置信息;4. 用mysqlbinlog命令解析指定文件,支持按时间或位置筛选,并可导出到文件;5. 根据需要使用PURGE或RESET命令清理日志。注意权限、路径及生产环境操作风险。

在MySQL中查看binlog日志,需要先确认binlog是否开启,然后通过命令行工具查看具体内容。以下是具体操作步骤和常用方法。
1. 确认binlog是否开启
登录MySQL后,执行以下命令查看binlog状态:
SHOW VARIABLES LIKE ‘log_bin’;
如果返回值为 ON,说明binlog已启用;如果是 OFF,则需要修改配置文件(my.cnf 或 my.ini)开启:
[mysqld]
log-bin=mysql-bin
server-id=1
修改后重启MySQL服务生效。
2. 查看当前的binlog文件列表
使用以下命令查看所有可用的binlog文件:
SHOW BINARY LOGS;
或简写为:
SHOW MASTER LOGS;
会列出类似 mysql-bin.000001、mysql-bin.000002 的文件名及其大小。
3. 查看当前正在使用的binlog文件
执行以下命令查看当前写入的binlog文件名:
SHOW MASTER STATUS;
该命令还会显示当前的日志位置(position)、Binlog格式等信息。
4. 使用mysqlbinlog工具查看日志内容
MySQL提供了一个名为 mysqlbinlog 的命令行工具,用于解析并查看binlog文件内容。
基本语法如下:
mysqlbinlog mysql-bin.000001
常见用法示例:
- 指定时间范围查看日志:
- 从指定位置查看日志:
- 将解析结果输出到文件便于查看:
mysqlbinlog –start-datetime=”2025-04-01 00:00:00″ –stop-datetime=”2025-04-01 12:00:00″ mysql-bin.000001
mysqlbinlog –start-position=1234 –stop-position=5678 mysql-bin.000001
mysqlbinlog mysql-bin.000001 > binlog_output.txt
注意:mysqlbinlog 工具通常位于MySQL的 bin 目录下(如 /usr/bin/mysqlbinlog 或安装目录下的 bin/),需确保系统PATH已包含该路径。
5. 清理binlog日志
长时间运行的数据库会产生大量binlog文件,可手动清理旧日志释放空间:
RESET MASTER; — 删除所有binlog,重置索引(慎用,生产环境避免) PURGE MASTER LOGS TO ‘mysql-bin.000005’; — 删除指定文件之前的所有日志 PURGE MASTER LOGS BEFORE ‘2025-04-01 00:00:00’; — 按时间删除
基本上就这些。只要binlog开启,用 SHOW 命令查状态,再用 mysqlbinlog 工具解析文件,就能清楚看到每条操作记录。不复杂但容易忽略权限和路径问题。


