暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用canal的MySQL同步部署过程

DB点滴 2021-07-14
856

1.首先在两台服务器上准备两个MySQL数据库,其中一个作为源库,另一个为目标库,我准备的MySQL源库服务器IP为:172.17.0.2,MySQL服务端口为3306,目标库的服务器IP为172.17.0.4,MySQL服务端口为3307。并从canal官网下载canal1.1.4的release包:canal.deployer-1.1.4.tar.gz和canal.adapter-1.1.4.tar.gz,解压后将这两个文件夹拷贝到服务器172.17.0.4的/home/admin目录中。接下来我们将展示通过canal实现对源库所做的修改能实时同步到目标库上。

2.在172.17.0.2上的数据库创建好用户和一个用于验证的数据库和测试表,语句如下:

mysql -h 172.17.0.2 -P 3306 -u root -p

CREATE DATABASE example;USE example;CREATE TABLE xdual ( ID int(11) NOT NULL AUTO_INCREMENT, X timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (ID)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ;

insert into xdual(id,x) values(null,now());

select * from xdual;

3.在172.17.0.4上的数据库创建和上面同样的数据库example和测试表。

4.修改/home/admin/canal.deployer-1.1.4/conf/example/instance.properties文件,如下部分:

即将canal.instance.master.address参数值改为172.17.0.2:3306

5.修改/home/admin/canal.adapter-1.1.4/conf/application.yml文件,如下部分:

即注释掉srcDataSources部分,修改driverClassName为com.mysql.cj.jdbc.Driver,然后修改对应url,用户名和密码。

6.修改/home/admin/canal.adapter-1.1.4/conf/rdb/mytest_user.yml文件,如下部分:

7.启动canal server,如下:/home/admin/canal.deployer-1.1.4/bin/startup.sh

如果看到如下信息说明启动正常:

说明:在我的环境出现以上成功启动信息之前出现一些报错,并且整个过程等待了10分钟左右,目前没找到原因,但不影响后续可以使用。

8.启动canal adapter,如下:/home/admin/canal.adapter-1.1.4/bin/startup.sh

如果看到如下信息说明启动正常:

9.通过命令行分别连接以上两个MySQL,在172.17.0.2的数据库上执行插入语句:

10.在172.17.0.4进行查询,结果如下:

可以看到数据已经自动被同步过来,至此MySQL数据同步搭建完成。

文章转载自DB点滴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论