配置都ok,数据库变更,canal 客户端接收不到数据变化,一直empty count

1. 问题描述:canal演示ClientExample案例时,在java客户端没有监听到mysql数据库的数据变化,导致控制台一直输出empty count

2. 具体解决:

1).首先登录mysql:

mysql -uroot -p

2).mysql 查看用户:这里有个canal用户

mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------------+
| query |
+---------------------------------------+
| User: 'canal'@'%'; |
| User: 'mysql.infoschema'@'localhost'; |
| User: 'mysql.session'@'localhost'; |
| User: 'mysql.sys'@'localhost'; |
| User: 'root'@'localhost'; |
+---------------------------------------+
5 rows in set (0.00 sec)

3).更新一下用户密码:

mysql> ALTER USER 'canal'@'%' IDENTIFIED WITH mysql_native_password BY 'canal';
Query OK, 0 rows affected (0.01 sec)

如果host 是 localhost,这里改为以下更新一下用户密码:

ALTER USER 'canal'@'localhost' IDENTIFIED WITH mysql_native_password BY 'canal';

MAC:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

4).最后刷新权限:

FLUSH PRIVILEGES;

3. 总结:因为不同的版本问题,导致创建用户的赋予权限,密码出现了不同,设置成'%'的时候,会导致 'localhost'无法登录。所以需要用命令单独修改密码。

posted @   gdxstart  阅读(225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2023-06-08 完全注解开发
2023-06-08 注入属性Autowire和Qualifier
2023-06-08 组件扫描配置
2023-06-08 创建对象
点击右上角即可分享
微信分享提示