中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中如何使用Connection-Control插件

發布時間:2021-07-13 16:18:25 來源:億速云 閱讀:703 作者:Leah 欄目:數據庫

這期內容當中小編將會給大家帶來有關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插件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌江| 星子县| 卢龙县| 鱼台县| 洪洞县| 上高县| 日喀则市| 德昌县| 綦江县| 德保县| 宝兴县| 师宗县| 咸宁市| 桓仁| 武宁县| 新竹市| 榕江县| 清水河县| 安乡县| 屏东市| 左云县| 宜章县| 苍梧县| 易门县| 青龙| 泽库县| 喀喇| 青川县| 连南| 宜川县| 毕节市| 荔浦县| 攀枝花市| 平江县| 宜兰县| 会理县| 唐河县| 五台县| 读书| 古丈县| 垣曲县|