使用阿里canal实现两台不同服务器上的数据库实时同步

不凡 248 0

实现两台不同服务器上的数据库实时同步

下载地址

https://github.com/alibaba/canal/releases/tag/canal-1.1.5

使用阿里canal实现两台不同服务器上的数据库实时同步-第1张图片-爱制作博客

canal.deployer-1.1.5.tar.gz 安装到源数据库服务器上

canal.adapter-1.1.5.tar.gz 安装到副数据库服务器上

1.首先开启源数据库的binlog

找到数据库的配置文件

Linux路径为 /etc/my.cnf

Windows路径为 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

修改为

[mysqld]

log-bin=mysql-bin # 开启 binlog

binlog-format=ROW # 选择 ROW 模式

使用阿里canal实现两台不同服务器上的数据库实时同步-第2张图片-爱制作博客

使用阿里canal实现两台不同服务器上的数据库实时同步-第3张图片-爱制作博客

2.检查是否开启成功

show VARIABLES like 'log_bin';  下图为开启成功

使用阿里canal实现两台不同服务器上的数据库实时同步-第4张图片-爱制作博客

查看log日志文件

show BINARY logs;

使用阿里canal实现两台不同服务器上的数据库实时同步-第5张图片-爱制作博客

查看正在使用中的log

show master status;

使用阿里canal实现两台不同服务器上的数据库实时同步-第6张图片-爱制作博客

3.创建同步用的账户

创建canal账号

CREATE USER canal IDENTIFIED BY 'canal';

赋予slave权限

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

刷新权限

FLUSH PRIVILEGES;

设置账号的密码

ALTER USER 'canal'@'%' IDENTIFIED WITH mysql_native_password BY '这里写密码';

4源数据库服务器

上传刚才下载的canal.deployer-1.1.5.tar.gz 并解压目录如下

使用阿里canal实现两台不同服务器上的数据库实时同步-第7张图片-爱制作博客

进入conf>example 编辑instance.properties文件

使用阿里canal实现两台不同服务器上的数据库实时同步-第8张图片-爱制作博客

改动框中的即可

使用阿里canal实现两台不同服务器上的数据库实时同步-第9张图片-爱制作博客

配置号后到bin目录下

./ startup.sh 启动即可

启动完成后前往logs/example下查看启动日志,无报错就没有问题

源服务器上的配置到此结束

 

副服务器上解压刚才下载的canal.adapter-1.1.5.tar.gz

使用阿里canal实现两台不同服务器上的数据库实时同步-第10张图片-爱制作博客

进入conf目录打开application.yml文件进行配置

改动4处地方

使用阿里canal实现两台不同服务器上的数据库实时同步-第11张图片-爱制作博客

改好后进入conf/rdb/ 配置all.yml

使用阿里canal实现两台不同服务器上的数据库实时同步-第12张图片-爱制作博客

配置的信息就是刚才application.yml文件图中4个框框起来的地方,此目录下没有此文件自己新建即可

使用阿里canal实现两台不同服务器上的数据库实时同步-第13张图片-爱制作博客

进入bin目录下执行命令

./ startup.sh 启动 或双击startup.bat启动即可

 


标签: canal MySQL java

上一篇mysql在Windows下实现主从复制(数据库读写分离)

下一篇当前分类已是最新一篇

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~