开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):Canal 数据同步(canal 安装)】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11517
Canal 数据同步(canal 安装)
目录:
一、在 mysql 里面添加相关用户和权限
二、安装 canal 工具
三、总结过程
一、在 mysql 里面添加相关用户和权限
在安装前,需要见证一个用户,有一个要求:需要用户通过远程也能访问到数据库。
比如说看到本地库,默认有数据库和表,叫 user,用户能通过本地访问,通过远程访问访问不到。
需要加入:%,表示远程访问。
CREATE USER "canal"@'%"IDENTIFIED BY‘canal';
GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO'canal'@";
FLUSH PRIVILEGES;
这里的 canal 就是通过远程可以访问到,root 默认不能访问,需要加入用户。之前已经加过就可以不用操作,如果没加需要操作一下。Y 表示可以访问。
二、安装 canal 工具
下载地址:
https://github.com/alibaba/canal/releases
下载之后,放到目录中,解压文件
cd /usr/1ocal/canal
canal.deployer-1.1.4.tar.gz
tar zxvf canal.deployer-1.1.4.tar.gz
(1)把 canal 压缩文件上传到 liunx 系统中
(2)解压压缩文件
[ root@online test]# Is
canal . deployer-1.1.4.tar.gz
[ root@online test]# tar zxvf canal. deployer-1.1.4.tar.gz 0
(3)修改 canal 配置文件
vi conf/example/instance.properties
#需要改成自己的数据库信息
canal.instance.master.address-192.168.44.132:3306
#需要改成自己的数据库用户名与密码
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal
#需要改成同步的数据库表规则,例如只是同步一下表。
#canal . instance. filter .regex=. *//..*
canal. instance. filter . regex=guli_ ucenter . ucenter_member
mysql数据解析关注时表,Perl 正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\)
常见例子:
1.所有表:.* or .*. \\ ..*
2.canal schema' 下所有表: canal\1..*
3. canal 下的以canal打头的表: canal\\. canal. *
4.canal schema下的一张表: canal. test1
5. 多个规则组合使用: canal\.. *, mysql. test1, mysql. test2 (逗号分隔)
注意:
此过滤条件只针对 row 模式的数据有效(ps. mi xed/statenent因为不解析 sql,所以无法准确提职 tableliame 进行过滤)
(4)启动 canal 数据同步工具
进入 bin 目录里,有它的脚本:
restart.sh start up.bat startup.sh stop.sh
[ root@online binls ./startup. sh
这就完成了启动和关闭。
此时已经安装到了。
三、总结过程
canal 同步过程:
1.准备工作:
在 liunx 系统和 windows 系统中都需要创建数据库和数据表。
192.168. 13.132
(1)安装 IySQL 数据库
创建数据库和数据表中
名称和表结构一样:
Members
(1)安装 canal 数据同步工具
(2)操作过程
第一步修改 liunx 系统 lySQL 数据库中配置
(1)检查 binl og 功能是否有开启
show variables like 'log_ bin'
mysql> show variables like 'log bin'
|Variable_ _name| Value|
|log_ bin | OFF
如果执行,看到 Value 值是 0FF,表示没有开启,需要开启
如果 Value 值是 0N,表示已经开启。
(2)修改 mysql 的配置文件 my. cnf
vi /etc/my. cnf 追加内容:
log-bin=mysql-bin
#binlog文件名
binlog_ format=RO
#选择 row 模式
server_ id=1
#mysql 实例 id,不能和 canal 的 slaveId 重复
(3)重启 mysql 数据库
重启之后,再去查看 binlog 值,变成 ON,表示已经开启了。
3.安装过程
主要是修改信息方面
(1)改自己的数据库信息
(2)改自己的数据库用户名与密码
(3)改同步的数据库表规则