一、問題描述
1、在安裝mysql8.0時,修改臨時密碼,因密碼過於簡單(如:123456),不符合mysql密碼規範,會觸發乙個報錯資訊:
error 1819 (hy000): your password does not satisfy the current policy requirements。
二、遇到問題
1、解決辦法調整mysql密碼驗證規則,修改 policy 和 length 的值。
2、mysql 5.7 進行如下設定,即可解決問題:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
3、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'
三、問題解決
1、分析: 可以看到,修改 policy 和 length 的值,在mysql5.7中好使,在mysql8.0中無效。'validate_password_policy' 變數不存在。
2、解決: 先修改乙個滿足的密碼 (如:root_12root)
3、密碼修改後,可用命令檢視 validate_password 密碼驗證外掛程式是否安裝。
4、mysql 8.0 調整密碼驗證規則:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
5、重新設定密碼: alter user 'root'@'localhost' identified by '你的密碼';
四、問題總結
1、 通過檢視 mysql5.7 和 mysql8.0 密碼驗證外掛程式對比,可知兩個版本中,變數名不一樣。(*_password_policy 和 *_password.policy ) --- 問題原因所在。
mysql8忘記密碼
本人環境 window10 安裝了乙個mysql5.7版本,然後又安裝了mysql8版本 安裝完mysql8會有個初始密碼,但是忘記複製就關閉了。所以本篇文章針對 無重要資料的非線上環境mysql。因為不確定是否會刪除歷史資料。1.先關閉mysql 2.安裝完mysql8的目錄是這樣的,刪除data...
MySQL 8 忘記密碼
access denied for user root localhost using password no 忘記密碼該怎麼操作?在mysql安裝目錄下,開啟my.ini檔案,在 mysqld 下新增一行,使其登入時跳過許可權檢查。儲存,退出,重啟mysql服務 net stop mysql ne...
Mysql8密碼修改
mysql安裝路徑獲取 在公司使用的是虛擬機器開發,測試受限。只能本地測試,雖然是基於springcloud的微服務專案,但是分布式配置中心並未進行配置。測試單模組,修改單個模組配置檔案,完全ok,可是多個模組需要反覆進行更改,此處採取一勞永逸的方式,將本地和遠端同步即可。tips 關於涉及到多資料...