连接MySQL报 unblock with 'mysqladmin flush-hosts' 问题解决

摘要:
在工作期间,我突然遇到服务器无法连接到MySQL数据库。报告了以下错误。其他服务正常。可以看出,原因是同一IP在短时间内生成了太多中断的数据库连接,导致阻塞max_connect_Errors是MySQL中与安全相关的计数器值。它负责防止太多失败的客户端遭受暴力破解密码。max_connect_错误值与性能关系不大。默认值为10。如果要重置此计数器的值,必须重新启动MySQL服务器或执行MySQL˃flushhosts;命令此客户端成功连接到MySQL服务器一次后,max_connect_Errors将被清除。

    工作中突然遇到有一台服务器连接不上MySQL数据库,报错如下,其他服务都正常。特此总结一下解决方法。

连接MySQL报 unblock with 'mysqladmin flush-hosts' 问题解决第1张

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

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

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。
max_connect_errors的值与性能并无太大关系,默认是10。意味着如果某一客户端尝试连接此MySQL服务器,但是失败(如密码错误等等)10次 ,则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

免责声明:文章转载自《连接MySQL报 unblock with 'mysqladmin flush-hosts' 问题解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇tsne降维可视化分割字符串存储过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ASP.NET Web Game 构架设计2数据库设计

ASP.NETWebGame构架设计2--数据库设计   前一篇Blog对WebGame服务器的物理结构做了一个简要说明,下面我们对各个组成元素进行详细说明。            首先来看一下数据库设计。            游戏的数据库设计是项目基础设计中很重要的一个环节,下面将说明以下几个要点: u  为什么选用SqlServer u  基本原则...

C#与数据库有关的控件和属性

BindingNavigator  数据记录导航 BindingSource 与数据源绑定, 常用属性:DataSource、DataMember 常用方法: DataGridView 以表格形式显示数据 常用属性: 常用方法:Add、Clear...

4、MySQL 申明变量给查询数据编号

摘自:   https://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html   https://blog.csdn.net/arbben/article/details/78665389 1、mysql中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。    mysql定义用户变...

SQL批量添加数据库中所有用户数据表描述

--SQL批量添加数据库中所有用户数据表描述 --操作说明:请先准备一数据表为名称为tblist,表名字段tbname nvarchar(255),数据表描述字段chnname nvarchar(255),将所有已存在的数据表和对应描述添加到数据表tblist中 --脚本编写步骤:1、游标读取所有数据表名;2、读取指定数据表描述;3、判断指定数据表描述是否...

mysql存储过程 详细注释

原文:https://my.oschina.net/u/3582142/blog/1581929 delimiter $$ /* 重新定义mysql结束符,而不再是分号是结束符 */create procedure mergeDeclare() /* 创建存储过程 */BEGIN/*定义局部变量*/DECLARE id INT DEFAULT 0;DECL...

Oracle12c 性能优化攻略:攻略1-1:创建具有最优性能的数据库

一:章节前言 本章着眼于影响表中数据存储性能的数据库特性。 表的性能部分取决于在创建之前所应用的数据库特性。例如:在最初创建数据库时采用的物理存储特性以及相关的表空间都会在后来影响表的性能。类似地,表性能还受到最开始选择的物理特性的影响。例如:表类型和数据类型。 因此应用实践中使用的数据库、表空间、和表的创建标准(并将性能问题放在心上),就形成了优化数据...