配置都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'无法登录。所以需要用命令单独修改密码。
比任何人都要努力
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享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 创建对象