欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql之validate_password_policy的使用

 更新時間:2023年05月30日 09:56:55   作者:獨行俠_阿濤  
這篇文章主要介紹了mysql之validate_password_policy的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

前面長篇大論,大刀闊斧,事無巨細地講解了mysql在centos上的安裝。

但是呢,上一篇遺留一個問題,就是mysql修改密碼時候遇到的一個問題:密碼校驗策略。

引用多篇文章的內容,自己梳理了一下,添加了一點自己的理解。老樣子,請看大屏幕:

前言

validate_password插件是mysql5.6以后可以引入的一個新密碼校驗插件(網友說的,同時還說要用這個插件至少要求mysql5.6.6之后的版本,沒啥重要的,就沒去驗證了),在mysql5.7之后會自動安裝的(這個是真的,我裝的5.7.21是這樣的)。

validate_password_policy是隨著validate_password插件誕生而誕生的,換句話說如果沒有安裝validate_password插件,就不用看下面的內容了。

從創(chuàng)建用戶說起:如我們在mysql中可以用grant all on *.* to userd@'localhost' identified by '123'; 來創(chuàng)建一個userd用戶,雖然用戶是創(chuàng)建成功了,但是這個用戶的密碼強度太低了非常容易被破解;為了把問題解決在搖籃里,最好是在創(chuàng)建用戶時就驗證密碼強度,如果強度達不到要求就不允許創(chuàng)建。

為了達到這個目地validate_password插件應運而生,如果沒有裝過validate_password插件,可以如下安裝(未測試過):

install plugin valaidte_password soname 'validate_password.so';

密碼校驗策略典型例子

第一次安裝完mysql不管是用臨時密碼登入還是通過免密方式修改密碼登入之后,如果沒有馬上修改密碼,而有其他的對數據庫的操作動作都會報錯:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

這個時候如果直接修改密碼:

alter user 'root'@'localhost' identified by '123456789';

就會觸發(fā)mysql的安全校驗問題了:

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

validate_password_policy作用

判斷修改密碼時候新密碼是否符合當前的策略,不滿足報錯,不讓修改。

validate_password_policy類型

PolicyTests Performed
0 or LOWLength
1 or MEDIUMLength; numeric, lowercase/uppercase, and special characters
2 or STRONGLength; numeric, lowercase/uppercase, and special characters; dictionary file

用于控制validate_password行為系統(tǒng)參數

這些參數是要安裝好validate_password 插件后才能通過show variables like 'validate_password%';看到。

001、validate_password_policy 這個參數用于控制validate_password的驗證策略 0-->low  1-->MEDIUM  2-->strong。

002、validate_password_length密碼長度的最小值(這個值最小要是4)。

003、validate_password_number_count 密碼中數字的最小個數。

004、validate_password_mixed_case_count大小寫的最小個數。

005、validate_password_special_char_count 特殊字符的最小個數。

006、validate_password_dictionary_file 字典文件

查看所有的validate_password相關的參數值

修改策略方式

set global validate_password_policy=0;

策略解釋

0 or LOW

校驗級別最低,只校驗密碼長度,只要長度跟validate_password_length一樣即可,默認長度是8位。

可以通過:

select @@validate_password_length;

來查詢當前設置的密碼長度。

validate_password_length最小值是4位,組成如下:

validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密碼中數據的長度,validate_password_special_char_count指定了密碼中特殊字符的長度,validate_password_mixed_case_count指定了密碼中大小字母的長度。

這些參數,默認值均為1,所以validate_password_length最小值為4,如果你顯性指定validate_password_length的值小于4,盡管不會報錯,但validate_password_length的值將設為4。

直接設置validate_password_length

set global validate_password_length=7

間接設置validate_password_length

  • validate_password_number_count
  • validate_password_special_char_count
  • validate_password_mixed_case_count

中任何一個值被修改了,則validate_password_length將進行動態(tài)修改。

修改方式

以validate_password_mixed_case_count為例子,另外幾個一樣的修改方式:

set global validate_password_mixed_case_count=2

注意

動態(tài)修改,不一定會直接影響到validate_password_length的長度,如果validate_password_length已經是最小值時才會被動態(tài)修改掉,否則不會。

1 or MEDIUM

這個時候首先要滿足的是validate_password_policy=0時的驗證要求。

然后現去驗證密碼中的數字個數,大小寫個數,特殊字符個數。

這些又分別由validate_password_number_count,validate_password_mixed_case_count,validate_password_special_char_count 這幾個參數來控制。

2 or STRONG

這個時候必須先滿足0,1的要求,然后它還追加了一個,對于密碼中任意連續(xù)4個(或4個讓上)字符不得是字典中的單詞(validate_password_dictionary_file)

注意

  • validate_password_number_count
  • validate_password_special_char_count
  • validate_password_mixed_case_count

三個的改動只會直接修改掉已經處在最小值的valide_password_length的值。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL主從復制延時問題的解決方案

    MySQL主從復制延時問題的解決方案

    MySQL主從一直是面試???里面的知識點雖然基礎,但是能回答全的同學不多,如果我們遇到問如何解決MySQL主從復制延時問題呢,所以本文給大家講解了MySQL主從復制延時問題的解決方法,需要的朋友可以參考下
    2023-12-12
  • 解決MySQL啟動報錯:ERROR 2003 (HY000): Can''t connect to MySQL server on ''localhost'' (10061)

    解決MySQL啟動報錯:ERROR 2003 (HY000): Can''t connect to MySQL serv

    這篇文章主要介紹了解決MySQL啟動報錯:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061),本文解釋了如何解決該問題,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • mysql樹目錄查詢語句優(yōu)化提高查詢效率

    mysql樹目錄查詢語句優(yōu)化提高查詢效率

    在諸多的管理類,辦公類等系統(tǒng)中,樹形結構展示隨處可見,本文主要介紹了mysql樹目錄查詢語句優(yōu)化提高查詢效率的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • InnoDB引擎數據庫主從復制同步新的分享

    InnoDB引擎數據庫主從復制同步新的分享

    近期將公司的MySQL架構升級了,由原先的一主多從換成了DRBD+Heartbeat雙主多從,所以這里也將其心得歸納總結了一下
    2012-11-11
  • MySQL?查詢?并集、交集、差集方式

    MySQL?查詢?并集、交集、差集方式

    這篇文章主要介紹了MySQL?查詢?并集、交集、差集方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 詳解MySQL 外鍵約束

    詳解MySQL 外鍵約束

    這篇文章主要介紹了MySQL 外鍵約束的相關資料,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MYSQL數據庫GTID實現主從復制實現(超級方便)

    MYSQL數據庫GTID實現主從復制實現(超級方便)

    這篇文章主要介紹了MYSQL數據庫GTID實現主從復制實現(超級方便),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • MySQL慢查詢日志的配置與使用教程

    MySQL慢查詢日志的配置與使用教程

    慢查詢日志用于記錄一些過慢的查詢語句,可以幫助管理員分析問題所在,下面這篇文章主要給大家介紹了關于MySQL慢查詢日志的配置與使用教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-09-09
  • MySQL使用C語言連接完整代碼樣例

    MySQL使用C語言連接完整代碼樣例

    這篇文章主要介紹了如何使用C語言連接MySQL數據庫,包括安裝MySQL連接庫、初始化MySQL、連接數據庫、執(zhí)行SQL查詢、獲取查詢結果、關閉連接等步驟,并提供了完整的代碼示例,需要的朋友可以參考下
    2025-03-03
  • MySQL初始密碼的查看方式

    MySQL初始密碼的查看方式

    這篇文章主要介紹了MySQL初始密碼的查看方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論