在前一篇文章有提到过Canal的原理,所以这里就不做多叙述
Canal是伪装成Mysql的从服务,监听Mysql主服务的binlog日志,实现数据同步,所以我们需要配置开启允许binlog日志主从同步
编辑mysql的配置文件
vim /etc/my.cnf
添加我标记的这段配置
log-bin=/var/lib/mysql/mysql-bin #日志记录到指定位置
binlog-format=ROW #记录只要数据发生修改,就记录到日志中
server_id=1 #mysql主从复制的唯一id,不允许重复
需要注意点:配置一定要放在[mysqld]标签下,否则不生效
那么如何查看,是否成功开启binlog日志了
show variables like '%log_bin%';
为ON则成功开启binlog日志
我们也可以进入指定的日志目录下,查看日志
cd /var/lib/mysql
如下就是mysql自动生成的binlog日志
接下来添加canal账号,或者直接使用自己的Root账号都行
账号不能通过远端添加,只能在内部mysql添加,如果权限足的话,也可以远端添加用户
drop user 'canal'@'%'; ##注意,这里如果没有创建canal账号,则会报错,所以没有创建则直接忽略这一步
CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
grant all privileges on *.* to 'canal'@'%' identified by 'canal';
flush privileges;
如下图,我这里已经添加用户成功了
进入mysql库的user表,查看刚所添加的用户的权限是否都是Y,如不是,否则接下来的操作会很不方便