- Web项目启动Tomcat 服务时,IOC容器实例化数据库连接池对象时报错如下:
Caused by: java.sql.SQLException: null, message from server: "Host 'MICRO-006031751' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
报错原因:
说明mysql已经达到了最大连接错误(max_connect_errors)对应主机的连接请求上限。在 max_connect_errors次失败请求后,mysql自认定可能是来自黑客的恶意攻击,所以阻止该站点进一步的连接。其实质是数据库的自我防护被激发,进而禁止此主机发送过来的任何数据库连接请求。
解决办法:
管理员登录Mysql实例,执行以下代码即可解决此问题 ,即刷新了Mysql的黑名单记录。
mysqladmin flush-hosts
后记:
如果仔细分析查看报错信息中其实可以发现解决问题的答案,如下:
Host 'MICRO-006031751' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
主机“MICRO-006031751”由于多次连接错误而被阻止;请使用“mysqladmin flush hosts”取消阻止