mysql5.6.6版本之後增加了密碼強度驗證外掛程式validate_password,相關引數設定的較為嚴格。使用了該外掛程式會檢查設定的密碼是否符合當前設定的強度規則,若不滿足則拒絕設定。
1、在 mysql安裝目錄中,\mysql server 8.0\lib\plugin 可以看到預設存在validate_password.dll
2、在mysql 8.0.15中預設沒有安裝這個外掛程式,我們可以通過 select * from mysql.`plugin` 檢視,列表為空。
安裝外掛程式:
新增:
mysql> install plugin validate_password soname 'validate_password.dll';
解除安裝: mysql> uninstall plugin validate_password;
外掛程式安裝後,使用 show plugins; 檢視是否啟用成功
3、檢視預設策略配置:
4、測試
修改密碼
alter user 'root'@'localhost' identified by '123456789';
提示錯誤
[sql]alter user 'root'@'localhost' identified by '123456789';
[err] 1819 - your password does not satisfy the current policy requirements
各項值說明
validate_password_policy:密碼安全策略,預設medium策略
策略檢查規則
0 or low
length
1 or medium
length; numeric, lowercase/uppercase, and special characters
2 or strong
length; numeric, lowercase/uppercase, and special characters; dictionary file
validate_password_dictionary_file:密碼策略檔案,策略為strong才需要
validate_password_length:密碼最少長度
validate_password_mixed_case_count:大小寫字元長度,至少1個
validate_password_number_count :數字至少1個 validate_password_special_char_count:特殊字元至少1個
修改策略(將策略要求置為low,長度要求置為1)
經測試,最小長度為4,設定為1無效,不曉得為什麼,後面再查詢下。
如不需要,可關閉複雜性策略:
mysql> set global validate_password_policy=0; # 關閉密碼複雜性策略
mysql> set global validate_password_length=1; # 設定密碼複雜性要求密碼最低長度為1
mysql> select @@validate_password_policy; # 檢視密碼複雜性策略
mysql> select @@validate_password_length; # 檢視密碼複雜性要求密碼最低長度大小
重置密碼驗證,可成功修改:
alter user 'root'@'localhost' identified by '1234';
密碼重置成功,可重新登入。 MYSQL設定密碼複雜度
mysql5.6.6版本之後增加了密碼強度驗證外掛程式validate password,相關引數設定的較為嚴格。使用了該外掛程式會檢查設定的密碼是否符合當前設定的強度規則,若不滿足則拒絕設定。在 mysql安裝目錄中,mysql server 8.0 lib plugin 可以看到預設存在vali...
python驗證密碼複雜度 密碼複雜度檢測演算法
密碼規則 可以輸入數字和字母 大寫 小寫 組合,長度6 10位 字串複雜度計算流程 1.計算字元種類數量 字元種類有數字 大寫字母 小寫字母 2.計算字元差異數量 區分大寫字母和小寫字母,重複的字元不計算在內 3.根據字元種類數量和字元差異數量計算複雜度 下面是偽 var level 1 簡單 2 ...
Ubuntu修改密碼及密碼複雜度策略設定
二 密碼複雜度策略 passwd先輸入當前密碼確認,然後輸入新的密碼修改 sudo vim etc ssh sshd config將預設配置注釋掉,新增一行新的配置,預設的配置為允許root登入,但是禁止root用密碼登入 sudo service ssh restart注意!設定複雜度策略之前應該...