参数max_connect_errors

max_connect_errors 这个参数控制登陆失败尝试次数,也就是你可以有多少次机会重试登陆;

可以通过status中查看下面两个参数:

Aborted_clients 表示已经成功建立连接的登陆,然后超时断开,或者kill掉的次数;

Aborted_connects 表示失败尝试连接的次数;

例:

session1:

mysql>show global variables like ‘%max_connect_errors%‘;

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| max_connect_errors | 5     |

+--------------------+-------+

开始演示前的数据库原始数据:

mysql>show global status like ‘%abort%‘;

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Aborted_clients  | 0     |

| Aborted_connects | 0     |

+------------------+-------+

session2:

mysql>show processlist;

+----+------+-----------+------+---------+------+----------+------------------+

| Id | User | Host      | db   | Command | Time | State    | Info             |

+----+------+-----------+------+---------+------+----------+------------------+

|  2 | root | localhost | NULL | Sleep   |    8 |          | NULL             |

|  3 | root | localhost | NULL | Query   |    0 | starting | show processlist |

+----+------+-----------+------+---------+------+----------+------------------+

干掉现在的连接:

mysql>kill 3;

session1:

可以看到aborted_client变成1,表示原来的一次成功登陆又断开连接了:

mysql>show global status like ‘%abort%‘;

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Aborted_clients  | 1     |

| Aborted_connects | 0     |

+------------------+-------+

session2:

重复这个命令8次:

[[email protected] ~]# mysql -uroot -p111

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

session1:

再回来看aborted_connects变成8 ,表示尝试了8次错误密码登陆

mysql>show global status like ‘%abort%‘;

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| Aborted_clients  | 2     |

| Aborted_connects | 8     |

+------------------+-------+

这里有个问题:前面尝试了8次错误密码登陆,为什么 还可以继续尝试登陆呢,为什么max_connetc_errors=5没有生效呢?

这是因为通过mysql -uroot -p111这种本地客户端的网络方式尝试连接,只会提示密码错误,没有失败登陆限制,max_connect_errors这个参数对其他连接方式有限制。

例:

在cmd中:

连续执行6次,会报错,意思就是说尝试次数超过max_connect_errors限制,要想重新登陆,必须执行flush hosts;

C:\Users\cdh>telnet 192.168.91.16 3306

ERROR 1129 (00000):Host ‘192.168.91.1‘ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts‘

mysql>flush hosts;

Query OK, 0 rows affected (0.01 sec)

或者用:

[[email protected] ~]# mysqladmin -uroot -p147258 flush-hosts;

时间: 2024-08-26 05:58:30

参数max_connect_errors的相关文章

mysql性能查看&分析

第一步.检测系统状态 通过系统自带工具检测系统状态,cpu.内存.交换空间.磁盘利用率,还有关注那些占用cpu和内存的进程. sar检测系统是否存在IO问题 yum -y install systat sar -u 2 10    每隔2秒执行一次,共执行10次 [email protected] zones]# sar -u 2 10 Linux 3.10.0-123.el7.x86_64 (cp-mysql04-new) 2016年01月07日 _x86_64_ (8 CPU) 15时03分

[MGR——Mysql的组复制之多主模式 ] 详细搭建部署过程

组复制可以在两种模式下运行. 1.在单主模式下,组复制具有自动选主功能,每次只有一个 server成员接受更新.2.在多主模式下,所有的 server 成员都可以同时接受更新. 组复制与异步主从复制区别. 1.传统mysql主从复制,是在主节点执行和提交事务,然后把他们异步的发送到从节点,行复制的重新执行主节点的SQL语句,这是一个 shared-nothing 的系统,默认情况下所有 server 成员都有一个完整的数据副本. 2.半同步复制,它在协议中添加了一个同步步骤. 这意味着主节点在提

MySQL性能参数详解 - max_connect_errors

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况.max_connect_errors的值与性能并无太大关系. 默认情况下,my.cnf文件中可能没有此行,如果需要设置此数值,手动添加即可. 参数格式 max_connect_errors = 10 修改方法 如果系统是CentOS.Debian等,则配置文件可能位于 /etc/my.cnf .打开此文件 # vi /etc/my.cnf 然后在[mysqld]配置

Max_connect_errors – MySQL性能参数详解

max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况.max_connect_errors的值与性能并无太大关系. 默认情况下,my.cnf文件中可能没有此行,如果需要设置此数值,手动添加即可. 参数格式 1 max_connect_errors = 10 修改方法 如果系统是CentOS.Debian等,则配置文件可能位于 /etc/my.cnf .打开此文件 1 [root@www ~]# vi /etc/my.c

阿里云RDS-MYSQL数据库参数设置,K哥

2016.9.2 最近被阿里云的数据库要搞疯掉了 自打阿里云抽风,非要取消myisam引擎,都换成innodb 没事总是主备切换,也没有错误日志 一问客服就是物理机波动,擦,波动是什么???????? 服务器自己跳舞了吗 看了看参数设置,很多都不知道 这两天有时间自己搜索整理了下 发给大家,有需要的看看 我的服务器应用主要是WEB网站服务 有一些不懂的地方或者不对的地方,还请大牛不吝赐教! 回复在评论中就可以了,thank you 我是K哥 auto_increment_offset表示自增长字

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

MySQL参数优化

目前针对MySQL数据库进行了一些参数优化,具体如下: my.ini / my.cnf 参数说明 #使用查询缓存 query_cache_size=100M                     #设置MySQL查询缓存的大小,如果MySQL收到同样的查询语句且数据未发生变化,则直接返回缓存中的数据 query_cache_type=1                        #1:开启缓存,0:关闭 innodb_buffer_pool_size=128M              #

mysql启动参数(/etc/my.cnf)详解汇总

在linux下面的/etc/my.cnf的参数详解汇总 MYSQL–my.cnf配置中文详解 basedir = path   使用给定目录作为根目录(安装目录). character-sets-dir = path   给出存放着字符集的目录. datadir = path   从给定目录读取数据库文件. pid-file = filename   为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进

MySQL5.7配置参数

MySQL5.7的参数调整配置,参考例子,某些具体参数的设置还需要根据实际来调整. [client] port                            = 3306 socket                          = /tmp/mysql3306.sock default_character_set           = utf8mb4 [mysqld] lower_case_table_names   = 1 port