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

mysql之validate_password_policy的使用

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

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

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

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

前言

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

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

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

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

install plugin valaidte_password soname 'validate_password.so';

密碼校驗策略典型例子

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

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)參數(shù)

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

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

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

003、validate_password_number_count 密碼中數(shù)字的最小個數(shù)。

004、validate_password_mixed_case_count大小寫的最小個數(shù)。

005、validate_password_special_char_count 特殊字符的最小個數(shù)。

006、validate_password_dictionary_file 字典文件

查看所有的validate_password相關(guān)的參數(shù)值

修改策略方式

set global validate_password_policy=0;

策略解釋

0 or LOW

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

可以通過:

select @@validate_password_length;

來查詢當前設(shè)置的密碼長度。

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

validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

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

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

直接設(shè)置validate_password_length

set global validate_password_length=7

間接設(shè)置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已經(jīng)是最小值時才會被動態(tài)修改掉,否則不會。

1 or MEDIUM

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

然后現(xiàn)去驗證密碼中的數(shù)字個數(shù),大小寫個數(shù),特殊字符個數(shù)。

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

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

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

總結(jié)

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

相關(guān)文章

  • MySQL主從復(fù)制延時問題的解決方案

    MySQL主從復(fù)制延時問題的解決方案

    MySQL主從一直是面試常客,里面的知識點雖然基礎(chǔ),但是能回答全的同學(xué)不多,如果我們遇到問如何解決MySQL主從復(fù)制延時問題呢,所以本文給大家講解了MySQL主從復(fù)制延時問題的解決方法,需要的朋友可以參考下
    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),本文解釋了如何解決該問題,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • mysql樹目錄查詢語句優(yōu)化提高查詢效率

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

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

    InnoDB引擎數(shù)據(jù)庫主從復(fù)制同步新的分享

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

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

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

    詳解MySQL 外鍵約束

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

    MYSQL數(shù)據(jù)庫GTID實現(xiàn)主從復(fù)制實現(xiàn)(超級方便)

    這篇文章主要介紹了MYSQL數(shù)據(jù)庫GTID實現(xiàn)主從復(fù)制實現(xiàn)(超級方便),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MySQL慢查詢?nèi)罩镜呐渲门c使用教程

    MySQL慢查詢?nèi)罩镜呐渲门c使用教程

    慢查詢?nèi)罩居糜谟涗浺恍┻^慢的查詢語句,可以幫助管理員分析問題所在,下面這篇文章主要給大家介紹了關(guān)于MySQL慢查詢?nèi)罩镜呐渲门c使用教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-09-09
  • MySQL使用C語言連接完整代碼樣例

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

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

    MySQL初始密碼的查看方式

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

最新評論