73°

MySQL开启连接次数限制(CONNECTION_CONTROL插件)

目前我们在使用MySQL的时候,没有对连接次数进行限制,如果碰到一些非法IP频繁进行root账号的撞击密码登陆时,不仅会影响MySLQ性能,而且会生成很多垃圾日志。

MySQL起使已经提供了连接控制的插件(CONNECTION_CONTROL),但是需要自己配置开启。

首先,只有MySQL 5.7.17及之后的版本才会有这个插件,之前的还没有(还没尝试过直接复制配置配置文件是否可用)

首先使用mysql命令连接数据库:

mysql -uroot -p

输入密码登录后,使用以下命令加载插件:

INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';

注意:如果是Unix系统,需要加载`connection_control.so`,如果是Windows系统,需要加载`connection_control.ddl`

安装完成后,修改 `my.cnf` 或者 `mysqld.cnf` 中的 `mysqld` 模块

[mysqld]
plugin-load-add=connection_control.so
connection_control_failed_connections_threshold=4
connection_control_min_connection_delay=1500

` connection_control_failed_connections_threshold ` 表示连接次数,超过此次数则会进入等待。

` connection_control_min_connection_delay ` 表示等待时间,单位是毫秒。

修改完之后,重启mysql即可,可以尝试一下密码错误4此之后,再连接就会一致等待。

 

参考地址1: https://dev.mysql.com/doc/refman/5.7/en/connection-control-installation.html

参考地址2: https://blog.csdn.net/ywd1992/article/details/83865537

参考地址3: https://kaispace.cn/?p=258

本文由【HarmonyChang】发布于开源中国,原文链接:https://my.oschina.net/zhanghexiangcn/blog/3159680

全部评论: 0

    我有话说: