大数据项目-金融审批实时数据仓库:MySQL 开启binlog

说明

使用 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

结果是二进制乱码


原文出处:/show_1GW1eRlqWgZO.html