MySQL8.0下設置簡單密碼出現錯誤提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
為什么要設置簡單密碼,不是不安全嗎?因為本人內網訪問的測試服務器,不想設置復雜的密碼,就像簡單點的密碼比如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 字典文件
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了。
然后再執行如下命令設置新的簡單密碼就OK了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.02 sec)
如果修改密碼報錯請看https://www.jianshu.com/p/01d80d3a3659
解決ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'