当前位置:   article > 正文

Docker安装canal,出现caching_sha2_password Auth failed问题的解决,成功解决canal和mysql的连接问题

caching_sha2_password auth failed

1、caching_sha2_password Auth faile问题解决:

出现”caching_sha2_password Auth faile“这个问题呢,主要是因为自MySQL 8.0.3开始,身份验证插件默认使用caching_sha2_password,所有我们得修改这个配置:

解决:修改canal用户对应的身份验证插件为mysql_native_password

  1. mysql> select host,user,plugin from mysql.user ;
  2. mysql> ALTER USER 'canal'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
  3. mysql> FLUSH PRIVILEGES;

注意:将”password“切换成自己canal设置的密码,例如我设置的是”canal“;

 修改完成后,查看我们在docker下改canal和数据库连接的日志,发现连接成功啦!下面附上docker的操作命令,和查看日志的命令。

小提示:需要安装mysql8.0版本的小伙伴,可以查看我写的另一篇博客,查看安装mysql中遇到的相关问题:Mysql配置连接Navicat、DataGrip,Mysql8.0必备!!!_navicat和datagrip_Đến❦หัวใจ的博客-CSDN博客

2、docker下安装canal

创建网络

我们需要创建一个网络,可以将MySQL、Canal、MQ等放到同一个Docker网络中:

docker network create item

mysql加入这个网络:

docker network connect item mysql

docker安装canal命令,详细解释如下:

  1. docker run -p 11111:11111 --name canal \
  2. -e canal.destinations=item \
  3. -e canal.instance.master.address=mysql:3306 \
  4. -e canal.instance.dbUsername=canal \
  5. -e canal.instance.connectionCharset=UTF-8 \
  6. -e canal.instance.tsdb.enable=true \
  7. -e canal.instance.gtidon=false \
  8. -e canal.instance.filter.regex=item\\..* \
  9. --network item \
  10. -d canal/canal-server:v1.1.5

说明:

  • -p 11111:11111:这是canal的默认监听端口

  • -e canal.instance.master.address=mysql:3306数据库地址和端口,如果不知道mysql容器地址,可以通过docker inspect 容器id来查看

  • -e canal.instance.dbUsername=canal数据库用户名

  • -e canal.instance.dbPassword=canal数据库密码

  • -e canal.instance.filter.regex=要监听的表名称,这个很关键

表名称监听支持的语法:

mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
常见例子:
1.  所有表:.*   or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打头的表:canal\\.canal.*
4.  canal schema下的一张表:canal.test1
5.  多个规则组合使用然后以逗号隔开:canal\\..*,mysql.test1,mysql.test2 

3、检查是否mysql和canal连接成功

docker exec -it canal bash

查看日志  :查看canal是否正在运行,看倒数几行running

tail -f canal-server/logs/canal/canal.log 

查看是否和mysql连接成功,这里很关键,主要查看是否mysql和canal连接成功

tail -f canal-server/logs/item/item.log 

连接成功则是下图:

觉得有用给个路过的点赞吧~

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

闽ICP备14008679号