iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中如何使用Connection-Control插件
  • 331
分享到

MySQL中如何使用Connection-Control插件

2024-04-02 19:04:59 331人浏览 八月长安
摘要

这期内容当中小编将会给大家带来有关Mysql中如何使用Connection-Control插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先查看系统变量plugin_

这期内容当中小编将会给大家带来有关Mysql中如何使用Connection-Control插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

首先查看系统变量plugin_dir,找到插件(Plugins)所在的路径,如下所示

mysql> select version() from dual; +-----------+ | version() | +-----------+ | 8.0.18    | +-----------+ 1 row in set (0.00 sec)     mysql> show variables like 'plugin_dir'; +---------------+--------------------------+ | Variable_name | Value                    | +---------------+--------------------------+ | plugin_dir    | /usr/lib64/mysql/plugin/ | +---------------+--------------------------+ 1 row in set (0.01 sec)       [root@KerryDB ~]# cd /usr/lib64/mysql/plugin/ [root@KerryDB plugin]# ls -lrt total 76388 -rwxr-xr-x. 1 root root   106696 Sep 20  2019 rewrite_example.so -rwxr-xr-x. 1 root root   104432 Sep 20  2019 mysql_no_login.so -rwxr-xr-x. 1 root root   111464 Sep 20  2019 mypluglib.so -rwxr-xr-x. 1 root root   106648 Sep 20  2019 auth_Socket.so -rwxr-xr-x. 1 root root   163560 Sep 20  2019 adt_null.so -rwxr-xr-x. 1 root root   409032 Sep 20  2019 validate_passWord.so -rwxr-xr-x. 1 root root  9054776 Sep 20  2019 libpluginmecab.so -rwxr-xr-x. 1 root root   344696 Sep 20  2019 authentication_ldap_sasl_client.so -rwxr-xr-x. 1 root root  1145832 Sep 20  2019 rewriter.so -rwxr-xr-x. 1 root root   625944 Sep 20  2019 ha_example.so -rwxr-xr-x. 1 root root   388992 Sep 20  2019 semisync_slave.so -rwxr-xr-x. 1 root root    32368 Sep 20  2019 component_log_sink_JSON.so -rwxr-xr-x. 1 root root   235200 Sep 20  2019 component_audit_api_message_emit.so -rwxr-xr-x. 1 root root   494720 Sep 20  2019 keyring_udf.so -rwxr-xr-x. 1 root root   149280 Sep 20  2019 component_log_sink_syseventlog.so -rwxr-xr-x. 1 root root  1446024 Sep 20  2019 semisync_master.so -rwxr-xr-x. 1 root root  2277480 Sep 20  2019 mysql_clone.so -rwxr-xr-x. 1 root root  1231376 Sep 20  2019 libmemcached.so -rwxr-xr-x. 1 root root   454096 Sep 20  2019 component_mysqlbackup.so -rwxr-xr-x. 1 root root   193336 Sep 20  2019 component_log_filter_dragnet.so -rwxr-xr-x. 1 root root  1177352 Sep 20  2019 ha_mock.so -rwxr-xr-x. 1 root root    83936 Sep 20  2019 locking_service.so -rwxr-xr-x. 1 root root  1269784 Sep 20  2019 connection_control.so -rwxr-xr-x. 1 root root  1280936 Sep 20  2019 innodb_engine.so -rwxr-xr-x. 1 root root   442304 Sep 20  2019 component_validate_password.so -rwxr-xr-x. 1 root root  1206024 Sep 20  2019 version_token.so -rwxr-xr-x. 1 root root  2338880 Sep 20  2019 keyring_file.so -rwxr-xr-x. 1 root root  2031912 Sep 20  2019 ddl_rewriter.so -rwxr-xr-x. 1 root root 49246400 Sep 20  2019 group_replication.so drwxr-xr-x. 2 root root     4096 Nov  6  2019 debug

安装插件

mysql> INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so'; Query OK, 0 rows affected (0.02 sec) mysql> INSTALL PLUGIN CONNECTION_CONTROL_FaiLED_LOGIN_ATTEMPTS SONAME 'connection_control.so'; Query OK, 0 rows affected (0.00 sec)

检查是否安装成功

mysql> show plugins;   mysql> SELECT PLUGIN_NAME, PLUGIN_LIBRARY, PLUGIN_STATUS, LOAD_OPTION      -> FROM INFORMATION_SCHEMA.PLUGINS      -> WHERE PLUGIN_LIBRARY = 'CONNECTION_CONTROL.SO'; +------------------------------------------+-----------------------+---------------+-------------+ | PLUGIN_NAME                              | PLUGIN_LIBRARY        | PLUGIN_STATUS | LOAD_OPTION | +------------------------------------------+-----------------------+---------------+-------------+ | CONNECTION_CONTROL                       | connection_control.so | ACTIVE        | FORCE       | | CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | connection_control.so | ACTIVE        | FORCE       | +------------------------------------------+-----------------------+---------------+-------------+ 2 rows in set (0.00 sec)   mysql>

设置系统变量

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         | 1000       | +-------------------------------------------------+------------+
  • connection_control_failed_connections_threshold #登陆失败次数限制,默认值为3

  • connection_control_max_connection_delay #限制重试时间最大值,单位为毫秒(  milliseconds),默认值2147483647

  • connection_control_min_connection_delay #限制重试时间最小值,单位为毫秒(  milliseconds),默认值为1000毫秒,也就是1秒

注意事项:

1:connection_control_min_connection_delay的值必须小于connection_control_max_connection_delay,connection_control_max_connection_delay不能小于connection_control_min_connection_delay的值。

mysql> set global connection_control_min_connection_delay=60000;  Query OK, 0 rows affected (0.00 sec)

注意,命令方式设置全局系统变量在服务器重启后丢失,所以最好的方式在参数文件my.cnf设置全局系统变量

-- 配置文件增加以下配置

[mysqld]    plugin-load-add = connection_control.so          #不是必须   connection-control = FORCE                       #不是必须   connection-control-failed-login-attempts = FORCE #不是必须   connection_control_min_connection_delay = 60000    connection_control_max_connection_delay = 1800000    connection_control_failed_connections_threshold = 3

三次连续输错密码后,就会在第四次输入密码后挂起

[root@lnx02 ~]# mysql -h 10.20.57.24 -u test -p Enter password:  ERROR 1045 (28000): Access denied for user 'test'@'192.168.27.180' (using password: YES) [root@lnx02 ~]# mysql -h 10.20.57.24 -u test -p Enter password:  ERROR 1045 (28000): Access denied for user 'test'@'192.168.27.180' (using password: YES) [root@lnx02 ~]# mysql -h 10.20.57.24 -u test -p Enter password:  ERROR 1045 (28000): Access denied for user 'test'@'192.168.27.180' (using password: YES) [root@lnx02 ~]# mysql -h 10.20.57.24 -u test -p Enter password:

MySQL中如何使用Connection-Control插件

注意,MySQL服务重启过后,INFORMATION_SCHEMA.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS中的数据全部前空。

  • The CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS plugin must be activated for  this table to be available, and the CONNECTION_CONTROL plugin must be activated  or the table contents will always be empty. See Section 6.4.2, “The  Connection-Control Plugins”.

必须激活CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS插件才能使用该表CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS,并且要么激活CONNECTION_CONTROL插件,要么该表的内容始终为空。请参见第6.4.2节“连接控制插件”。

  • The table contains rows only for clients that have had one or more  consecutive failed connection attempts without a subsequent successful attempt.  When a client connects successfully, its failed-connection count is reset to  zero and the server removes any row corresponding to the client.

该表仅包含已进行一次或多次连续失败连接尝试而没有随后成功尝试的客户端的行。当客户端成功连接时,其失败连接计数将重置为零,并且服务器将删除与该客户端对应的任何行。

  • Assigning a value to the connection_control_failed_connections_threshold  system variable at runtime resets all accumulated failed-connection counters to  zero, which causes the table to become empty.

在运行时为connection_control_failed_connections_threshold系统变量分配一个值会将所有累积的失败连接计数器重置为零,这将导致表变空。

解除账号延迟响应限制

方法1:重启MySQL实例

方法2:调整系统变量connection_control_failed_connections_threshold的值。

mysql> SELECT * FROM      -> INFORMATION_SCHEMA.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS; +-------------------+-----------------+ | USERHOST          | FAILED_ATTEMPTS | +-------------------+-----------------+ | 'test'@'192.168%' |               5 | +-------------------+-----------------+ 1 row in set (0.00 sec)     mysql>  mysql> set global connection_control_failed_connections_threshold=2; Query OK, 0 rows affected (0.00 sec)   mysql> SELECT * FROM      -> INFORMATION_SCHEMA.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS; Empty set (0.00 sec)

3:卸载插件plugin

mysql> UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;  mysql> UNINSTALL PLUGIN CONNECTION_CONTROL;

注意事项:

关于Connection-Control的实现原理,淘宝数据库内核月报有篇文章分析过代码,介绍过实现原理,Connection-Control插件虽然可以防止恶意暴力破解MySQL账户,但是可能会浪费MySQL的资源;

  • 比如如果短时间内有大量的恶意攻击,该插件虽然可以防止破解MySQL账户,但是会消耗主机资源(每一个连接创建一个线程);

  • 如果这里使用了线程池,虽然可以避免消耗主机资源,但是等线程池中的线程被消耗光,再有新连接来就会拒绝服务。

上述就是小编为大家分享的MySQL中如何使用Connection-Control插件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中如何使用Connection-Control插件

本文链接: https://www.lsjlt.com/news/56322.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中如何使用Connection-Control插件
    这期内容当中小编将会给大家带来有关MySQL中如何使用Connection-Control插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先查看系统变量plugin_...
    99+
    2024-04-02
  • MySQL中如何使用NoSQL插件
    本篇文章为大家展示了MySQL中如何使用NoSQL插件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  MySql基本安装步骤:   ...
    99+
    2024-04-02
  • MySQL数据库中如何使用Audit插件
    这篇文章将为大家详细讲解有关MySQL数据库中如何使用Audit插件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL数据库Audit插件怎么使用...
    99+
    2024-04-02
  • Struts2 中json插件如何使用
    今天就跟大家聊聊有关Struts2 中json插件如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。***步:在struts2基本jar包的基础上添加struts2-jsonpl...
    99+
    2023-06-17
  • Python中PyDev插件如何使用
    Python中PyDev插件如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。验证是否成功安装 PyDev如何才能验证 Eclipse Update Manager 是否已...
    99+
    2023-06-17
  • VSCode中Snippet插件如何使用
    这篇文章主要介绍“VSCode中Snippet插件如何使用”,在日常操作中,相信很多人在VSCode中Snippet插件如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VSCode中Snippet插件如...
    99+
    2023-07-04
  • Elasticsearch中Head插件如何使用
    本篇内容主要讲解“Elasticsearch中Head插件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Elasticsearch中Head插件如何使用”吧!基础环境系统 节点名 IP ...
    99+
    2023-06-28
  • VSCode中如何使用FreeWindow插件
    这期内容当中小编将会给大家带来有关VSCode中如何使用FreeWindow插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。FreeWindow插件的图标是一条鱼,中间有一个“摸”字,是摸鱼的意思。原理...
    99+
    2023-06-20
  • Elasticsearch中如何使用Head插件
    Elasticsearch中如何使用Head插件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、安装由于插件时托管在github中,要从github中直接下载所以需要先安...
    99+
    2023-06-04
  • vue中如何使用vue-resource插件
    vue中如何使用vue-resource插件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在使用这个插件之前,当然是先安装啦:npm ...
    99+
    2024-04-02
  • 如何在IDEA中使用FindBugs插件
    本篇文章为大家展示了如何在IDEA中使用FindBugs插件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。安装 安装完之后,重启studio,会发现左下角会出现findbugs的图标可以分...
    99+
    2023-06-14
  • lightbox.js插件如何使用
    要使用lightbox.js插件,您需要按照以下步骤进行操作:1. 下载lightbox.js插件文件,并将其包含在您的HTML文件...
    99+
    2023-08-24
    lightbox.js
  • Vue插件如何使用
    这篇文章主要介绍了Vue插件如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Vue插件1、概述简单来说,插件就是指对Vue的功能的增强...
    99+
    2024-04-02
  • jQuery中如何使用tip提示插件
    小编给大家分享一下jQuery中如何使用tip提示插件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!效果图:代码如下:<!DOCTYPE html> <html...
    99+
    2024-04-02
  • jquery如何使用skitter插件
    小编给大家分享一下jquery如何使用skitter插件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!下载地址:http://w...
    99+
    2024-04-02
  • AngularJS中如何使用jQuery的zTree插件
    这篇文章主要介绍了AngularJS中如何使用jQuery的zTree插件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇AngularJS中如何使用jQuery的zTree插件文章都会有所收获,下面我们一起来看...
    99+
    2023-07-04
  • jquery插件Jplayer如何使用
    本篇内容介绍了“jquery插件Jplayer如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!现在从需求上来了解它的使用方法吧。第一个...
    99+
    2023-07-04
  • 如何在Android应用中使用Jenkins插件
    今天就跟大家聊聊有关如何在Android应用中使用Jenkins插件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Jenkins插件功能介绍Jenkins任务列表图1、jenki...
    99+
    2023-05-31
    android roi jenkins
  • jQuery插件datatables如何使用
    这篇文章主要介绍了jQuery插件datatables如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jQuery插件datatables如何使用文章都会有所收获,下面我们一起来看看吧。jQuery 的插...
    99+
    2023-07-04
  • IDEA如何使用Docker插件
    这篇文章主要介绍了IDEA如何使用Docker插件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。说明之前docker的学习,包括镜像拉取,容器创建等操作都需要自己手动敲命令来...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作