canal数据同步的环境配置
canal数据同步的环境配置
canal数据同步的环境配置:(适⽤于mysql)
前提:在linux和windows系统的mysql数据库中创建相同结构的数据库和表,我的linux中mysql是⽤docker实现的(5.7版本),拉取mysql 镜像后,当我们创建容器时,⼀定要记得对⽬录进⾏挂载,否则后期是⽆法开启logbin功能的。
1.开启mysql的logbin功能
#拉取镜像
docker pull mysql
#创建容器
docker run -p 33306:3306
--name mysql
-v /root/mysql/conf:/etc/f.d
-v /root/mysql/logs:/logs
-v /root/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
-di mysql
(1)可以通过进⼊mysql然后修改/etc/f.d/mysqldf⽂件输了惩罚自己随便弄3200字
十一见闻docker exec -it mysql /bin/bash
cd /etc/f.d
#docker中并没有vim命令所以可以选择安装vim
apt-get update
apt-get install -y vim
#安装完后可以进⾏修改
西班牙签证办理
(2)也可以使⽤命令进⾏修改
docker exec myMysql bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/f.d/mysqldf"
docker exec myMysql bash -c "echo 'server-id=123454' >> /etc/f.d/mysqldf"
(3)因为进⾏了⽬录挂载所以也可以直接在宿主机上修改
然后重启mysql
docker restart myMysql
检查binlog功能是否有开启
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin      | ON    |
+---------------+-------+
1 row in set (0.00 sec)
log_bin是ON则代表开启了。
2.在linux中安装canal服务并启动
下载地址:
董洁最新电视剧(1)下载之后,放到⽬录中,先创建好⽬录,⽬录任意,linux中要有Java环境
mv 安装包 /usr/local/canal/
然后解压
tar -zvxf 安装包
(2)修改配置⽂件
vi conf/example/instance.properties
#需要改成⾃⼰的数据库信息(linux中mysql的ip和端⼝)
canal.instance.master.address=192.168.44.132:3306
#需要改成⾃⼰的数据库⽤户名与密码该⽤户必须有权限来跨系统连接
#可以通过windows中数据库连接⼯具进⾏测试,连上就代表有权限
canal.instance.dbUsername=canal
哈尔滨旅游景点必玩canal.instance.dbPassword=canal
#需要改成同步的数据库表规则,例如只是同步⼀下表
#canal.=.*\\..*
canal.=guli_ucenter.ucenter_member
若没有权限,则给⽤户赋予权限
CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
注意:
mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\)
常见例⼦:
1.  所有表:.*  or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打头的表:canal\\.canal.*
4.  canal schema下的⼀张表:st1
5.  多个规则组合使⽤:canal\\..*,st2 (逗号分隔)
祝三八妇女节快乐的句子注意:此过滤条件只针对row模式的数据有效(ps. mixed/statement因为不解析sql,所以⽆法准确提取tableName进⾏过滤)(3)进⼊bin⽬录下启动
cd bin
sh startup.sh
(4)关闭服务
./stop.sh

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。