当前位置:   article > 正文

docker安装Canal

docker安装canal

1. 前提准备

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

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

1.2 添加用户权限

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

1.3 重启mysql

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

2. 安装Canal

2.1 拉取镜像并启动容器

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/429780
推荐阅读
相关标签
  

闽ICP备14008679号