mycat中间件遇坑记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mycat中间件遇坑记相关的知识,希望对你有一定的参考价值。

mycat的schema.xml配置反复确认都是正常的
技术图片

但是mycat死活连接不上mysql,查看控制台信息才发现一下错误信息:

can‘t connect to mysql server ,errmsg:Host ‘172.20.0.5‘ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts‘ MySQLConnection [id=72, lastTime=1595346208574, user=root, schema=my_db1, old shema=my_db1, borrowed=false, fromSlaveDB=false, threadId=0, charset=utf8, txIsolation=3, autocommit=true, attachment=null, respHandler=null, host=172.20.0.2, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false]  (io.mycat.backend.mysql.nio.MySQLConnectionAuthenticator:MySQLConnectionAuthenticator.java:91) 

技术图片

分析原因:
之前升级mysql8,安全加密方式使用了caching_sha2_password。在这期间mycat连接mysql错误次数超过mysql的max_connect_errors,于是一直被拒绝。

mysql参数max_connect_errors解释:

指定允许连接不成功的最大尝试次数。5.7默认是100;如果到达这个数,那么服务器将不再允许新的连接,即便mysql仍正常对外提供服务。


解决思路:
修改mysql的最大错误连接次数配置.(最好在my.cnf中修改)

mysql> set global max_connect_errors = 1000;
Query OK, 0 rows affected (0.01 sec)

mysql> flush hosts;
Query OK, 0 rows affected (0.01 sec)

最终告捷。
技术图片

以上是关于mycat中间件遇坑记的主要内容,如果未能解决你的问题,请参考以下文章

安装ipython遇坑记

MongoDB多表关联分组查询指定行数数据实践遇坑记及解析

MongoDB多表关联分组查询指定行数数据实践遇坑记及解析

数据库路由中间件MyCat - 源代码篇

数据库路由中间件MyCat - 源代码篇

MyCat数据库中间件 - 分库