标签:code ack mysq handle read sla err 查看 user
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)
最终告捷。
标签:code ack mysq handle read sla err 查看 user
原文地址:https://blog.51cto.com/phpme/2512395