【Mysql】 解決MySQL8.0報錯:Unknown system variable 'validate_password_policy'

author:咔咔mysql

wechat:fangkangfksql

 

問題所在一個是  _  鏈接的一個是  .  鏈接的

 

1、問題描述ui

一、在安裝MySQL8.0時,修改臨時密碼,因密碼過於簡單(如:123456),不符合MySQL密碼規範,會觸發一個報錯信息:插件

 

 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。 code

 

 

2、遇到問題rem

一、解決辦法調整MySQL密碼驗證規則,修改 policy 和 length 的值。class

二、MySQL 5.7 進行以下設置,便可解決問題:require

 

mysql>  set global validate_password_policy=0;
mysql> set global validate_password_length=1;

三、MySQL 8.0 執行代碼:變量

 

mysql>  set global validate_password_policy=0;ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
mysql> set global validate_password_length=1;ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

3、問題解決date

一、分析: 能夠看到,修改 policy 和 length 的值,在MySQL5.7中好使,在MySQL8.0中無效。'validate_password_policy' 變量不存在。

二、解決: 先修改一個知足的密碼 (如:Root_12root)。

補充: validate_password_policy 有如下取值:

 


默認是1,即MEDIUM,因此剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。

三、密碼修改後,可用命令查看 validate_password 密碼驗證插件是否安裝。

        mysql> SHOW VARIABLES LIKE 'validate_password%';

4、問題總結

一、 經過查看 MySQL5.7 和 MySQL8.0 密碼驗證插件對比,可知兩個版本中,變量名不同。(*_password_policy 和 *_password.policy ) --- 問題緣由所在。

二、MySQL 8.0 調整密碼驗證規則:

  mysql> set global validate_password.policy=0; mysql>  set global validate_password.length=1;

相關文章
相關標籤/搜索