说明
使用 ROW 记录模式,能清楚记录每一个行数据的修改细节
如果使用 STATEMENT,记录 SQL 语句,对于 Maxwell来说,没有意义,不会执行该 SQL
修改配置文件
vim /etc/my.cnf
在 [mysqld] 区块下添加下面内容:
# 开启binlog,必须指定server id,否则无法启动
server_id=1
# 设置日志路径、文件名,注意路经需要mysql用户有权限写
log-bin=mysql-bin
# 设置记录模式
binlog_format=ROW
# 指定 finance_lease 数据库发生数据变化时,会生成 binlog 日志
binlog-do-db=finance_lease
说明:
binlog日志路径:默认在
/var/lib/mysql目录下。在本数据库中在/program/mysql-5.7.32/data/路径下重启mysql,会立即生成
mysql-bin.00000x文件
重启
systemctl restart mysql
查看是否生效
登录 MySQL 客户端:
mysql -uroot -proot
执行下面 SQL:
show variables like '%binlog%';
看到下面结果,说明成功:
| binlog_format | ROW |
查看binlog日志
cd /program/mysql-5.7.32/data/
ll mysql-bin*
看到下面文件:
mysql-bin.000001
mysql-bin.index
查看 mysql-bin.index 文件内容
cat mysql-bin.index
结果如下:
./mysql-bin.000001
查看 mysql-bin.000001 文件内容
vim mysql-bin.000001
结果是二进制乱码