前言

今天正常的对各大的测试服进行重启的时候发现每台服务器都启动失败!查看日志发现每台服务器都报一下的错误

java.sql.SQLException: null,  message from server: "Host '192.168.0.223' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"

经过排查发现,由于部署mysql的服务器重启导致,服务器链接尝试连接 MySQL 服务器时发生了太多错误(例如连接超时、无效的凭据等),MySQL 服务器就阻止了来自 IP 地址 192.168.0.223 的连接请求!

一、使用 mysqladmin flush-hosts 命令解锁 IP 地址

你可以通过运行以下命令来清除 MySQL 的主机缓存,解锁被阻止的 IP 地址:

mysqladmin -u root -p flush-hosts

如果你是远程链接可以使用下面的命令

mysqladmin flush-hosts -h 192.168.0.245 -P 3306 -u root -p

192.168.0.245 替换成你的IP

二、增加 max_connect_errors 参数

查看max_connect_errors

show variables like 'max_connect_errors';

修改max_connect_errors

set global max_connect_errors = 1000;

校验max_connect_errors修改是否成功

在这里插入代码片
show variables like 'max_connect_errors';

在这里插入图片描述

三、检查连接错误的原因

为了避免再次出现类似问题,建议你检查连接错误的原因,常见原因包括:

数据库连接配置错误(如用户名、密码或主机名错误)。
网络不稳定导致连接失败。
应用程序频繁尝试错误的连接请求。
修复这些潜在问题可以从源头上避免再次触发 MySQL 的错误限制。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐