[Mysql-2] 远程连接数据库错误:host 'xxx.xxx' is blocked because of many connection errors
测试平台突然接口全部报错,赶紧查看日志:com.github.pagehelper.PageException: java.sql.SQLException: null,message from server: "Host 'xxx.xxx.xxx.xx' is blocked because of many connection errors; unblock with 'mysqladm...
·
测试平台突然接口全部报错,赶紧查看日志:
com.github.pagehelper.PageException: java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
Connection closing...Socket close.ageException: java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
报错原因
错误原因其实报错信息已经给出:一个IP因为过多的连接错误(超过mysql数据库max_connection_errors的最大值)被数据库服务器阻塞。
解决方案
解决方案有多种,可以根据实际情况进行选择:
方法1、清除错误记录
在控制台执行 flush-hosts 即可(或者在navicat等连接工具上进入mysql库,执行该指令)。这个方法直接有效,但如果连接错误继续发生,迟早会再次触发报错。
方法2、修改max_connection_errors
- 首先查看该值:show global variables like ‘%max_connect_errors%’;
- 然后修改该属性:set global max_connect_errors = 1000
- 重复步骤1,可以看到修改生效
方法3、修改配置文件
方法2的修改只是临时方案,要想永久性修改属性值,需要修改mysql的配置文件。如果配置文件里没有这个属性,自己手动添加:max_connect_errors = 1000
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)