MySQL 开启和查看 binlog 日志
一、开启 binlog 日志功能
假设我们有两个数据库db1和db2,我们想要同时记录它们的二进制日志。步骤如下:
1、修改MySQL配置文件
首先,我们需要修改MySQL的配置文件,打开MySQL配置文件(一般为my.cnf或my.ini),找到[mysqld]节,添加或修改如下行:
#要写入 binlog 的数据库
binlog-do-db=db1
binlog-do-db=db2
注意,在这里,通过多次使用 binlog-do-db 参数来实现多个库的记录。每个库的binlog-do-db参数都需要单独一行,而不是逗号分割的。
如果要限制同步的数据库,可如下进行设置:
#不给从机同步的库(多个写多行)
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
2、重启MySQL服务
修改完配置文件后,保存并退出。然后,我们需要重启MySQL服务,以使新的配置生效。
二、查看 binlog 日志
1、show binlog events 语句
用于在二进制日志中显示事件。如果您不指定’log_name’,则显示第一个二进制日志。LIMIT子句和SELECT语句具有相同的语法。
mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
2、查询是否启用了日志
mysql> show variables like 'log_bin';
on=启用,off=未启用
3、获取binlog文件列表
mysql> show binary logs;
4、只查看第一个binlog文件的内容
mysql> show binlog events;
5、查看当前正在写入的binlog文件
mysql> show master status;
6、查看指定binlog文件的内容
mysql> show binlog events in 'mysql-bin.000002';
7、查询指定 mysql-bin.000002 这个文件,从pos点:2225开始查起,ps:此pos应为真实存在的。
mysql> show binlog events in 'mysql-bin.000002' FROM 2225;
mysql> show binlog events in 'mysql-bin.000002' FROM 2225 limit 10;//查询前10条
mysql> show binlog events in 'mysql-bin.000002' FROM 2225 limit 5,10;//从第6条开始,查询10条数据