mysql密码参数_MySQL 密码参数配置与修改 validate_password
MySQL 密碼參數配置與修改 validate_password
場景
通過root用戶創建travel_agency數據庫,目標是,新建一個用戶然后對僅對該用戶開放travel_agency數據庫而非其他數據庫
過程
創建對所有ip開放的用戶sx CEATE USER 'xx'@'%' IDENTIFIED BY 'xx@2';
僅對sx用戶開放travel_agency數據庫,并刷新權限使授權生效 GRANT ALL PRIVILEGES ON `travel_agency`.* TO 'sx'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
回收可以使用 REVOKE ... ON ... FROM 'xxx'@'xxx';
@前面為用戶名,@后面接限制的主機,%表示任何地方。(注意:這里%有的版本不包括本地,遇到這個問題再加一個localhost的用戶就可以)
刪除用戶:
DROP USER ‘xx’@'xx';
but
在默認配置下進行第一步時會報出1819問題,說密碼不符合規范
默認配置的介紹
在mysql5.7版本后已經默認安裝validate_password插件,該插件可以控制密碼的最低要求
我們先查詢未改動的狀態,即默認狀態
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 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
常用:
validate_password_policy:安全強度,默認為中,即1,要求必須包含 數字、符號、大小寫字母,長度至少為8位
validate_password_length:密碼最小長度
validate_password_mixed_case_count:至少有大小寫字母n對,即2*n個
validate_password_number_count:最少數字數量
validate_password_special_char_count:最少符號數量
不常用:
validate_password_check_user_name:用戶名檢測,檢測是否重名
validate_password_dictionary_file:字典文件,啟動后必須要滿組所使用字典的規則才能滿足密碼的條件
Solution of 1819
我們為了可以使用xx@2的密碼,對相關參數做出調整即可(使用SET GLOBAL)
...
set global validate_password_mixed_case_count=0;
-- 改為0對就不會強制要求必須有大小寫
set global validate_password_length=2;
最終改為
mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 2 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
自動增大的validate_password_length
validate_password_length會根據其他設定進行自動增大,計算公式為
密碼最小長度=數字最小長度+符合最小長度+2*(大小寫最小對數)
驗證如下:
ysql> set global validate_password_length=2;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 2 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
mysql> set global validate_password_mixed_case_count=1;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
總結
以上是生活随笔為你收集整理的mysql密码参数_MySQL 密码参数配置与修改 validate_password的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李宏毅深度学习ppt总结
- 下一篇: mysql set password_M