实验环境

软件 版本
Centos 6.10
MySQL 5.6.40

插件简介

  • CONNECTION_CONTROL:用来控制登录失败的次数及延迟响应时间
  • CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS:该表将登录失败的操作记录至IS库中 (可自行选择是否安装,本次实验未装)

插件安装

方法1、通过配置文件安装

  1. [mysqld]
  2. plugin-load-add = connection_control.so
  3. connection_control_min_connection_delay = 6000
  4. connection_control_max_connection_delay = 86400 #如不设定默认值为2147483647
  5. connection_control_failed_connections_threshold = 3
  6. # connection-control = FORCE
  7. # connection-control-failed-login-attempts = FORCE

方法2、动态安装

mysql> INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
# mysql> INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';

查看配置及调整

# 连续失败次数3和超过失败连接上限后的最小延迟登录时间为1分;
 mysql> show variables like "%connection_control%"; # 可查看相关参数配置
+-------------------------------------------------+------------+
| Variable_name                                   | Value      |
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 3          |
| connection_control_max_connection_delay         | 2147483647 |
| connection_control_min_connection_delay         | 6000       |
+-------------------------------------------------+------------+
  • connection_control_failed_connections_threshold # 允许验证的次数
  • connection_control_max_connection_delay # 最大延迟登录时间 单位:毫秒
  • connection_control_min_connection_delay # 最小延迟登录时间 单位:毫秒

根据业务需求需改参数

 mysql> set global connection_control_failed_connections_threshold=3;  # 设定允许失败的次数 
 mysql> set global connection_control_min_connection_delay=6000;    # 设定最小延迟登录时间为1分钟。

卸载

mysql> uninstall plugin CONNECTION_CONTROL;