Canal部署指南
官网:https://github.com/alibaba/canal
1. MySQL
1.1 配置binlog
1.1.1 自建MySQL
对于自建 MySQL , 需要先开启 Binlog 写入功能,配置 binlog_format 为 ROW 模式
// 查看是否开启binlog
SHOW VARIABLES LIKE 'log_bin';
// 查看binlog-format
SHOW VARIABLES LIKE 'binlog_format';
若已开启binlog, 且binlog_format 为 ROW 模式可以直接跳过这一步
其他情况,则需在my.cnf 中进行如下配置
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction时(主从复制) 需要定义,不要和 canal 的 slaveId 重复
1.1.2 阿里云 RDS for MySQL
针对阿里云 RDS for MySQL , 默认打开了 binlog , 并且账号默认具有 binlog dump 权限 , 不需要任何权限或者 binlog 设置,可以直接跳过这一步
1.2 配置用户
授权 canal 连接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant
CREATE USER canal IDENTIFIED WITH mysql_native_password BY 'canal';
// 若不携带WITH mysql_native_password,可能会出现无法登录的问题
// 具体原因详见https://kalacloud.com/blog/authentication-plugin-caching-sha2-password-cannot-be-loaded/
// 若出现Your password does not satisfy the current policy requirements,则需核对密码复杂度策略