MySQL的Connection-Control介绍

CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS:该表将登录失败的操作记录至IS库中 -- 配置文件增加以下配置(按需求)[mysqld]plugin-load-add = connection_control.so connection-control = FORCE connection-control-failed-login-attempts = FORCE connection_control_min_connection_delay = 1000...
MySQL的Connection-Control介绍
MySQL 5.7.17 以后提供了Connection-Control插件用来控制客户端在登录操作连续失败一定次数后的响应的延迟。该插件可有效的防止客户端暴力登录的风险(攻击)。该插件包含以下2个组件

CONNECTION_CONTROL:用来控制登录失败的次数及延迟响应时间
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS:该表将登录失败的操作记录至IS库中

-- 配置文件增加以下配置(按需求)
[mysqld]
plugin-load-add = connection_control.so
connection-control = FORCE
connection-control-failed-login-attempts = FORCE
connection_control_min_connection_delay = 1000
connection_control_max_connection_delay = 86400
connection_control_failed_connections_threshold = 5

-- 插件动态安装启用

-- 验证是否正常安装

-- 查看默认相关变量

+-------------------------------------------------+------------+
| Variable_name | Value |
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 3 |
| connection_control_max_connection_delay | 2147483647 |
| connection_control_min_connection_delay | 1000 |
+-------------------------------------------------+------------+

-- 定制化配置(动态)

-- 查看修改后的配置

+-------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------+-------+
| connection_control_failed_connections_threshold | 3 |
| connection_control_max_connection_delay | 86400 |
| connection_control_min_connection_delay | 1000 |
+-------------------------------------------------+-------+
connection_control_failed_connections_threshold
失败尝试的次数,默认为3,表示当连接失败3次后启用连接控制,0表示不开启
connection_control_max_connection_delay
响应延迟的最大时间,默认约25天
connection_control_min_connection_delay
响应延迟的最小时间,默认1000微秒,1秒
-- 该表记录登录失败的用户及失败次数,当用户登录成功后,登录失败的记录则会被删除。
-- 重新配置connection_control_failed_connections_threshold变量,该表记录会被删除(重置)
-- 如果使用不存在的用户登录,则该表记录用户名为空,但会记录具体登录的IP
use information_schema;
select * from connection_control_failed_login_attempts;

-- 连接控制的使用次数(可用户判断是否存在暴力登录尝试)
-- 重新配置connection_control_failed_connections_threshold变量,该表记录会被删除(重置)

+------------------------------------+-------+
| Variable_name | Value |
+------------------------------------+-------+
| Connection_control_delay_generated | 5 |
+------------------------------------+-------+2022-06-15
mengvlog 阅读 24 次 更新于 2025-09-10 05:39:14 我来答关注问题0
  • MySQL的各种网络IO超时的用法和实现如下:一、用法 通过C API设置超时:连接超时:使用MYSQL_OPT_CONNECT_TIMEOUT选项,通过mysql_options函数设置连接超时时间,单位为秒。读超时:使用MYSQL_OPT_READ_TIMEOUT选项,设置读取操作的超时时间。写超时:使用MYSQL_OPT_WRITE_TIMEOUT选项,设置写入操作的超时时间。

  •  文暄生活科普 MySQL的各种网络IO超时的用法和实现

    配置文件中,通过connect-timeout和interactive-timeout分别设置连接和交互超时,连接超时在连接mysql server时生效,而interactive-timeout则影响交互式连接的会话超时,通常用于手动操作,优先于客户端自定义值。MySQL Server内部涉及多个与网络IO相关的超时变量,如connect_timeout、net_read_timeout、net_write...

  •  深空见闻 mysql 疑难杂症

    数据与同步异常MyISAM 表用 myisamchk -r 表名.MYI 修复;InnoDB 表设置 innodb_force_recovery=4 启动后备份重建。主从复制故障中,Slave_IO_Running=NO 检查 server-id 和网络,重新配置;Slave_SQL_Running=NO 主键冲突时跳过错误。配置与环境优化SQL_MODE 冲突,需确保 SELECT 列符合要求,可临时...

  • 在默认情况下,MySQL系统仅开启错误日志,关闭其他所有日志,以减少IO损耗,提高系统性能。然而,在实际应用中,由于二进制日志是实现数据库复制和增量备份的基础,通常需要开启。有时候为了优化性能或定位执行较慢的SQL语句,还会开启慢查询日志。查询日志则很少在生产环境中启用,因为记录所有的查询语句会带来...

  •  猪八戒网 基于Gitea搭建属于自己的Git服务

    一、搭建环境和前提搭建环境:操作系统:CentOS7.6 Docker版本:docker-ce-18.09.9 LskyPro版本:1.6.3 MySQL版本:5.7 安装前提 Gitea可以使用MySQL、PostgreSQL、MSSQL、SQLite3作为数据库存储,如果你对其中某个数据库熟悉可以选择相应的数据库,我选择的是MySQL。所以前提需要安装好Docker和MySQL,...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部