我是靠谱客的博主 受伤八宝粥,最近开发中收集的这篇文章主要介绍docker安装Canal1. 前提准备2. 安装Canal,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 前提准备

1.1 打开mysql主从功能(在mysql的my.cnf文件中添加以下配置)

server-id=1000
log-bin=/var/lib/mysql/mysql-bin
# 设置binlog日志位置
binlog-do-db=item
# 只对item这个数据库记录binary log events 

1.2 添加用户权限

  • 添加一个仅用于数据同步的账户
create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%' identified by 'canal';
FLUSH PRIVILEGES;

1.3 重启mysql

  • 重启后客户端下输入以下指令查看mysql状态
show master status;

2. 安装Canal

2.1 拉取镜像并启动容器

docker run -p 11111:11111 --name canal 
-e canal.destinations=item 
-e canal.instance.master.address=172.17.0.3:3306

-e canal.instance.dbUsername=canal

-e canal.instance.dbPassword=canal

-e canal.instance.connectionCharset=UTF-8 
-e canal.instance.tsdb.enable=true 
-e canal.instance.gtidon=false

-e canal.instance.filter.regex=item\..* 
-d canal/canal-server:v1.1.5
  • -e canal.destinations=item   canal集群的名字
  • 其中的ip地址是你的mysql地址
  • 配置了访问数据库的账户和密码
  • 表名称监听器支持的语法
mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\)
常见例子:
1.
所有表:.*
or
.*\..*
2.
canal schema下所有表: canal\..*
3.
canal下的以canal打头的表:canal\.canal.*
4.
canal schema下的一张表:canal.test1
5.
多个规则组合使用然后以逗号隔开:canal\..*,mysql.test1,mysql.test2 

至此,canal已经成功安装并启动了

最后

以上就是受伤八宝粥为你收集整理的docker安装Canal1. 前提准备2. 安装Canal的全部内容,希望文章能够帮你解决docker安装Canal1. 前提准备2. 安装Canal所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部