博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql出现unblock with 'mysqladmin flush-hosts'
阅读量:5966 次
发布时间:2019-06-19

本文共 1396 字,大约阅读时间需要 4 分钟。

朋友发来消息,说一个系统应用登录的时候提示连接超时,让帮忙处理一下。

问他应用和数据库是否都正常,回复说数据库好像没有问题,但是应用日志报无法连接数据库。

数据库版本是:5.5.53

让他telnet数据库是否是通的,回复说不通,并发来了信息提示:

# telnet  8.8.9.9 3306Trying 8.8.9.9...Connected to 8.8.9.9.Escape character is '^]'.gHost 'kapp' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connection closed by foreign host.

 

可以看出,产生的原因是:

同一个ip在短时间内产生太多(超过mysql数据库max_connect_errors的最大值)中断的数据库连接而导致的阻塞

 

让他查看以下参数并发来结果:

> show variables like 'max_connect_errors';+--------------------+-------+| Variable_name      | Value |+--------------------+-------+| max_connect_errors | 2     |+--------------------+-------+

  

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。

max_connect_errors的值与性能并无太大关系,默认是10,不知道为何改为了2。意味着如果某一客户端尝试连接此MySQL服务器,但是失败(如密码错误等等)2次 ,则MySQL会无条件强制阻止此客户端连接。
如果希望重置此计数器的值,则必须重启MySQL服务器或者执行mysql> flush hosts; 命令。当这一客户端成功连接一次MySQL服务器后,针对此客户端的max_connect_errors会清零。
如果max_connect_errors设置过小,则网页可能提示无法连接数据库服务器。

 

以下是解决方案,再贴一下吧。

解决方法1:修改max_connect_errors的值

(1)进入Mysql数据库查看max_connect_errors:
> show variables like '%max_connect_errors%';
(2)修改max_connect_errors的值:
> set global max_connect_errors = 100;
(3)查看是否修改成功
> show variables like '%max_connect_errors%';

解决方法2:使用mysqladmin flush-hosts 命令清理一下hosts文件

(1)在查找到的目录下使用命令修改:mysqladmin -u xxx -p flush-hosts
或者
> flush hosts;

解决方法3:重启mysqld
也可以在重启之前,在配置文件中将该参数调大。
# vi /etc/my.cnf
max_connect_errors = 100

 

转载地址:http://iqmax.baihongyu.com/

你可能感兴趣的文章
Python_异常和模块
查看>>
【386天】跃迁之路——程序员高效学习方法论探索系列(实验阶段143-2018.02.26)...
查看>>
Java数据类型分类
查看>>
springboot应用启动原理(一) 将启动脚本嵌入jar
查看>>
SpringMVC架构
查看>>
JAVA团队开发手册 - 2.代码管理
查看>>
超详细步骤 | 如何用小程序 SDK 实现电商评价模
查看>>
Android 类库
查看>>
vue和iview应用中的一些问题(持续更新)
查看>>
基于 Workman 实现Web扫描登录
查看>>
karma如何与测试框架合作2之webpack
查看>>
关于VSCode更新对于emmet2.0支持的配置更改问题。
查看>>
二叉树的遍历
查看>>
10分钟搭建MySQL Binlog分析+可视化方案
查看>>
vmware虚拟机配置串口
查看>>
小型自动化运维--expect脚本之传递函数
查看>>
Exchange Server 2010部署安装之一
查看>>
Nsrp实现juniper防火墙的高可用性【HA】!
查看>>
oracle11g 安装在rhel5.0笔记
查看>>
解决Lync 2013演示PPT提示证书问题的多种方法
查看>>