当前位置: 首页 > news >正文

mysql 参数max_connect_errors研究

1.在server端设置max_connect_errors=3,超过3次连接错误就block
mysql> set global max_connect_errors=3;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'max_connect_errors';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| max_connect_errors | 3     |
+--------------------+-------+
1 row in set (0.00 sec)

2.在客户端10.153.56.25连接server,不输入密码四次,第五次依旧连接上了
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'10.153.56.25' (using password: NO)
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'10.153.56.25' (using password: NO)
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'10.153.56.25' (using password: NO)
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'10.153.56.25' (using password: NO)
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.7.26-log MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

3.在server端看到10.153.56.25 
HOST_VALIDATED: YES ,
SUM_CONNECT_ERRORS: 0 ,
COUNT_HOST_BLOCKED_ERRORS: 0
COUNT_AUTHENTICATION_ERRORS: 4
说明密码错误并不数据连接错误
mysql> select * from performance_schema.host_cache\G
*************************** 1. row ***************************
                                        IP: 10.153.56.25
                                      HOST: NULL
                            HOST_VALIDATED: YES
                        SUM_CONNECT_ERRORS: 0
                 COUNT_HOST_BLOCKED_ERRORS: 0
           COUNT_NAMEINFO_TRANSIENT_ERRORS: 0
           COUNT_NAMEINFO_PERMANENT_ERRORS: 1
                       COUNT_FORMAT_ERRORS: 0
           COUNT_ADDRINFO_TRANSIENT_ERRORS: 0
           COUNT_ADDRINFO_PERMANENT_ERRORS: 0
                       COUNT_FCRDNS_ERRORS: 0
                     COUNT_HOST_ACL_ERRORS: 0
               COUNT_NO_AUTH_PLUGIN_ERRORS: 0
                  COUNT_AUTH_PLUGIN_ERRORS: 0
                    COUNT_HANDSHAKE_ERRORS: 0
                   COUNT_PROXY_USER_ERRORS: 0
               COUNT_PROXY_USER_ACL_ERRORS: 0
               COUNT_AUTHENTICATION_ERRORS: 4
                          COUNT_SSL_ERRORS: 0
         COUNT_MAX_USER_CONNECTIONS_ERRORS: 0
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS: 0
             COUNT_DEFAULT_DATABASE_ERRORS: 0
                 COUNT_INIT_CONNECT_ERRORS: 0
                        COUNT_LOCAL_ERRORS: 0
                      COUNT_UNKNOWN_ERRORS: 0
                                FIRST_SEEN: 2025-02-13 14:26:57
                                 LAST_SEEN: 2025-02-13 14:27:10
                          FIRST_ERROR_SEEN: 2025-02-13 14:26:57
                           LAST_ERROR_SEEN: 2025-02-13 14:27:02
1 row in set (0.00 sec)

4.通过telnet 10.153.35.2 3306命令,超过3次后第四次后就报错:
Host '10.153.56.25' is blocked because of many connection errors;
正常的mysql -h 10.153.35.2 -u root -p输入密码也被 block了

[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ telnet 10.153.35.2 3306
Trying 10.153.35.2...
Connected to 10.153.35.2.
Escape character is '^]'.
N
5.7.26-logM:Nu
              -A%a-9c2Ubmysql_native_password

!#08S01Got packets out of orderConnection closed by foreign host.
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ telnet 10.153.35.2 3306
Trying 10.153.35.2...
Connected to 10.153.35.2.
Escape character is '^]'.
N
5.7.26-logS8IQA-CNOG\+|mSCmysql_native_password

!#08S01Got packets out of orderConnection closed by foreign host.
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ telnet 10.153.35.2 3306
Trying 10.153.35.2...
Connected to 10.153.35.2.
Escape character is '^]'.
N
5.7.26-logWd7[G-
-6%     "mysql_native_password

!#08S01Got packets out of orderConnection closed by foreign host.
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ telnet 10.153.35.2 3306
Trying 10.153.35.2...
Connected to 10.153.35.2.
Escape character is '^]'.
jHost '10.153.56.25' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connection closed by foreign host.
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ telnet 10.153.35.2 3306
Trying 10.153.35.2...
Connected to 10.153.35.2.
Escape character is '^]'.
jHost '10.153.56.25' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'Connection closed by foreign host.
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
ERROR 1129 (HY000): Host '10.153.56.25' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

5.server端可以看到
 SUM_CONNECT_ERRORS: 3
 COUNT_HOST_BLOCKED_ERRORS: 3
mysql> select * from performance_schema.host_cache\G
*************************** 1. row ***************************
                                        IP: 10.153.56.25
                                      HOST: NULL
                            HOST_VALIDATED: YES
                        SUM_CONNECT_ERRORS: 3
                 COUNT_HOST_BLOCKED_ERRORS: 3
           COUNT_NAMEINFO_TRANSIENT_ERRORS: 0
           COUNT_NAMEINFO_PERMANENT_ERRORS: 1
                       COUNT_FORMAT_ERRORS: 0
           COUNT_ADDRINFO_TRANSIENT_ERRORS: 0
           COUNT_ADDRINFO_PERMANENT_ERRORS: 0
                       COUNT_FCRDNS_ERRORS: 0
                     COUNT_HOST_ACL_ERRORS: 0
               COUNT_NO_AUTH_PLUGIN_ERRORS: 0
                  COUNT_AUTH_PLUGIN_ERRORS: 0
                    COUNT_HANDSHAKE_ERRORS: 3
                   COUNT_PROXY_USER_ERRORS: 0
               COUNT_PROXY_USER_ACL_ERRORS: 0
               COUNT_AUTHENTICATION_ERRORS: 4
                          COUNT_SSL_ERRORS: 0
         COUNT_MAX_USER_CONNECTIONS_ERRORS: 0
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS: 0
             COUNT_DEFAULT_DATABASE_ERRORS: 0
                 COUNT_INIT_CONNECT_ERRORS: 0
                        COUNT_LOCAL_ERRORS: 0
                      COUNT_UNKNOWN_ERRORS: 0
                                FIRST_SEEN: 2025-02-13 14:26:57
                                 LAST_SEEN: 2025-02-13 14:33:15
                          FIRST_ERROR_SEEN: 2025-02-13 14:26:57
                           LAST_ERROR_SEEN: 2025-02-13 14:33:15
1 row in set (0.00 sec)

6.解决办法就是在server端执行flush hosts;
mysql> flush hosts;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from performance_schema.host_cache\G
Empty set (0.00 sec)

可以看到10.153.56.25这个client又可以连接了
[mysql@t3-tksbscms-tkcms-db-mysql01-ma01 bin]$ mysql -h 10.153.35.2 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 5.7.26-log MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

相关文章:

  • 【核心特性】从鸭子类型到Go的io.Writer设计哲学
  • Linux 系统下 如何部署本地 deepseek R1模型
  • AI成为基础设施有哪些研究方向:模型的性能、可解释性,算法偏见
  • 内网ip网段记录
  • Unity使用iTextSharp导出PDF-02基础结构及设置中文字体
  • Idea 插件 Quickly-Code-Toolkit
  • 非标准纸张Word文件无损转换为A4标准纸张的完整教程
  • 虚拟机+Docker配置主机代理和常见配置
  • 《open3d qt 网格采样成点云》
  • 人工智能时代下ai智能语音机器人如何以假乱真?
  • 硬件学习笔记--41 电磁兼容试验-5 射频场感应的传导干扰试验介绍
  • Arcgis/GeoScene API for JavaScript 三维场景底图网格设为透明
  • Spring Boot 配置JPA数据库主从读写分离失败及解决办法
  • 激光工控机在精密制造中的应用与优势
  • mybatis 是否支持延迟加载?延迟加载的原理是什么?
  • 【新品解读】AI 应用场景全覆盖!解码超高端 VU+ FPGA 开发平台 AXVU13F
  • [Spring] Spring常见面试题
  • 2025.2.11——一、[极客大挑战 2019]PHP wakeup绕过|备份文件|代码审计
  • 联合汽车电子嵌入式面试题及参考答案
  • wordpress主题制作
  • 三大交易所多举措支持科创债再扩容,约160亿证券公司科创债有望近期落地
  • 韩国法院将李在明所涉案件重审日期延至大选后
  • 蓝佛安:中方将采取更加积极有为的宏观政策,有信心实现今年5%左右增长目标
  • 有乘客被高铁车门夹住?铁路回应:系突感不适下车,未受伤,列车正点发车
  • 我驻旧金山总领事馆:黄石公园车祸中受伤同胞伤情稳定
  • AI世界的年轻人|横跨教育与产业,他说攻克前沿问题是研究者的使命