MySQL 8.0下設定簡單密碼出現錯誤提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如下圖:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuYmMiJWZ3UDMmFTO3YTOwcDO2ADOhZTZ4QmNjVmMkZDOvwFO5gjM5QDOtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
為什麼要設定簡單密碼,不是不安全嗎?因為本人内網通路的測試伺服器,不想設定複雜的密碼,就像簡單點的密碼比如root,123等。
但是新版 MySQL 8.0 加入密碼安全度檢測機制,導緻報錯。
解決方法如下
1、檢視目前安全變量值,可用指令檢視 validate_password 密碼驗證插件是否安裝。
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| 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.02 sec)
複制
validate_password_length密碼長度的最小值(這個值最小要是4)。
validate_password_number_count 密碼中數字的最小個數。
validate_password_mixed_case_count大小寫的最小個數。
validate_password_special_char_count 特殊字元的最小個數。
validate_password_dictionary_file 字典檔案
MySQL 8.0 以上是這樣的:
validate_password.check_user_name ON
validate_password.dictionary_file
validate_password.length 8
validate_password.mixed_case_count 1
validate_password.number_count 1
validate_password.policy
validate_password.special_char_count 1
全局變量名稱變了!
2.修改變量
注意到8.0 比5.7多了帶“.”的變量導緻隻設定一半是不夠的,要想在高版本使用簡單的密碼,需要做這樣設定:
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)
然後再執行如下指令設定新的簡單密碼就OK了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.02 sec)
問題總結
通過檢視 MySQL5.7 和 MySQL8.0 密碼驗證插件對比,可知兩個版本中,變量名不一樣。(*_password_policy 和 *_password.policy ) --- 問題原因所在。
CentOS 7.6下yum安裝MySQL 8.0版本圖文教程 https://www.linuxidc.com/Linux/2019-08/160316.htm