修改 my.cnf 文件,配置 binlog
修改 /etc/my.cnf 文件,在 [mysqld] 模块下添加如下内容:
[mysqld]
server_id=1
# binlog 文件前缀
log-bin=mysql-bin
# binlog 模式
binlog_format=row
# 需要生成 binlog 的库,有几个库需要生成 binlog 则添加几行,如果不做该配置,则所有库都会生成 binlog
binlog-do-db=sys_base
binlog-do-db=vota_upgrade
修改完成后,重启 MySQL
默认的 binlog 文件存放在 /var/lib/mysql
目录下,如果当前尚未对库做任何修改,则 binlog 文件大小一定为 154 字节,每次重启 MySQL 都会生成新的 binlog 文件,mysql-bin.index 文件内记录了当前使用的 binlog 文件名称
初始化 Maxwell 数据库
MySQL 中新建数据库用来存放 Maxwell 的元数据:
CREATE DATABASE maxwell;
创建用户用于访问 maxwell 数据库:
CREATE USER 'maxwell'@'%' IDENTIFIED BY '123456';
GRANT ALL ON maxwell.* TO maxwell@'%';
为 maxwell 账号分配监听其他数据库权限:
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO maxwell@'%';
刷新权限:
flush privileges;
下载 Maxwell
cd ~/Opt
wget https://github.com/zendesk/maxwell/releases/download/v1.29.2/maxwell-1.29.2.tar.gz
tar -zxvf maxwell-1.29.2.tar.gz
mv maxwell-1.29.2 maxwell
cd maxwell
监听 MySQL binlog 并在控制台打印
新增数据
./bin/maxwell --user='maxwell' --password='123456' --host='127.0.0.1' --producer=stdout
向 MySQL 表中一次插入一条记录:
INSERT INTO sys_base.user_info (id