学而实习之 不亦乐乎

MySQL 开启和查看 binlog 日志

2024-05-07 21:45:39

一、开启 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条数据