在使用服務器插件之前,必須將它們加載到服務器中。MySQL支持在服務器啟動和運行時加載插件。還可以在啟動時控制加載插件的激活狀態,並在運行時卸載它們。在加載插件時,可以從INFORMATION_SCHEMA獲得關於插件的信息。
#查看當前mysql安裝的插件信息
1
2
3
4
5
6
7
8
9
|
#查看當前mysql安裝的插件信息
mysql> show plugins;
+----------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+--------------------+---------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
|
1
2
3
4
5
6
7
|
#要使服務器可用,插件庫文件必須位於MySQL插件目錄中(由plugin_dir系統變量命名的目錄)。如果需要,通過在服務器啟動時設置plugin_dir的值來配置插件目錄位置。
mysql> show variables like
'plugin_dir'
;
+---------------+--------------------------+
| Variable_name | Value |
+---------------+--------------------------+
| plugin_dir |
/usr/lib64/mysql/plugin/
|
+---------------+--------------------------+
|
1
2
3
4
5
|
#插件庫的文件名是validate_password.文件名后綴根據平台的不同而不同(例如,對於Unix和類Unix系統,.dll對於Windows)。要在服務器啟動時加載插件,可以使用--plugin-load-add選項來命名包含它的庫文件。使用這種插件加載方法,必須在每次服務器啟動時提供該選項。例如,將這些行放到服務器my.cnf文件中(根據需要調整平台的.so后綴):
[mysqld]
validate_password = on plugin-load-add=validate_password.so
#服務器在啟動時加載插件,並防止在服務器運行時刪除插件。
validate-password=FORCE_PLUS_PERMANENT
|
1
2
|
#修改my.cnf之后,重啟服務器以使新設置生效。或者,要在運行時注冊插件,可以使用以下語句(根據需要調整.so后綴):
mysql> INSTALL PLUGIN validate_password SONAME
'validate_password.so'
;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#查看所有插件
mysql> show plugins;
mysql> show variables like
'validate_password%'
;
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
|
validate_password_check_user_name :設置為ON的時候表示能將密碼設置成當前用戶名。
validate_password_dictionary_file :validate_password用於檢查密碼的字典文件的路徑名。
validate_password_length :validate_password所需密碼的最小字符數。
validate_password_mixed_case_count :如果密碼策略是中等或更強的,validate_password要求密碼具有的小寫和大寫字符的最小數量。對於給定的這個值密碼必須有那么多小寫字符和那么多大寫字符。
validate_password_number_count :如果密碼策略是中等或更強的,validate_password要求密碼具有的數字(數字)字符的最小數量。
validate_password_policy : validate_password強制執行的密碼策略,validate_password_policy影響validate_password如何使用它的其他策略設置系統變量,除了根據用戶名檢查密碼之外,后者由validate_password_check_user_name獨立控制。
validate_password_policy值可以使用數值0、1、2或相應的符號值LOW、MEDIUM、STRONG來指定。下表描述了為每個策略執行的測試。對於長度測試,所需的長度是validate_password_length系統變量的值。類似地,其他測試所需的值由其他validate_password_xxx變量提供。
關於如何在mysql 8中關閉這個密碼插件,請看:https://www.cnblogs.com/alonely/p/11606903.html
內容來源於:
https://dev.mysql.com/doc/refman/5.6/en/plugin-loading.html#server-plugin-uninstalling
https://dev.mysql.com/doc/refman/5.7/en/validate-password-installation.html