1、查看mysqlbinlog是否已经开启
show variables like '%log_bin%';
log_bin: ON是OFF否已经开启binlog
log_bin_basename: binlog所在路径的文件开头前缀名
lob_bin_index: binlog文件的索引文件所在路径
2、若log_bin=OFF,则开启log_bin
-- 退出mysql client
exit;
-- 配置my.cnf 开启log_bin
vim /etc/my.cnf
追加内容:
#启用binlog,并指定了binlog的文件名前缀。binlog会以 master 开头命令,记录数据库所有变更操作,包含增删改
log_bin=master
#每台MySQL服务器的唯一标识
server-id=1
#格式化方式 flinkcdc基于debezium开发,仅支持mysqlbinlog row格式文件
binlog_format=row
3、Linux重启Mysql服务
systemctl restart mysql
4、查看正在写入的binlog 文件名
show master status;
查看binlog文件:
sudo mysqlbinlog --base64-output=decode-rows -vv --start-datetime="2024-06-14 14:30:00" --stop-datetime="2124-06-14 00:00:00" /var/lib/mysql/master.00000x
--base64-output:该参数用来控制binlog日志解析的时候,是否输出base64编码的内容。它的取值范围有:auto、decode-rows、never
--v: verbose,把对数据库的各种操作解析为可以读的SQL语句
例如:
-- mysql执行
insert into sync_db.student (id, name, age)
values (7, 'ds', 77);
binlog对应: