在MySQL中,可以通過修改密碼驗證插件和密碼復(fù)雜度策略來設(shè)置密碼復(fù)雜度。以下是一些常見的設(shè)置方法:
修改密碼驗證插件:MySQL 5.7及更高版本默認使用了密碼驗證插件caching_sha2_password,可以通過修改為mysql_native_password來簡化密碼驗證??梢酝ㄟ^以下命令修改:
ALTER USER ‘username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
設(shè)置密碼復(fù)雜度策略:MySQL 5.7及更高版本支持密碼策略插件,可以通過安裝插件來設(shè)置密碼復(fù)雜度。以下是一個示例:
a. 下載密碼策略插件validate_password:
wget https://github.com/mysql/mysql-server/raw/5.7/plugin/validate_password/validate_password.so
b. 將插件放入MySQL插件目錄:
sudo mv validate_password.so /usr/lib/mysql/plugin/
c. 修改MySQL配置文件my.cnf,添加以下內(nèi)容:
plugin-load-add = validate_password.so validate_password_policy=STRONG validate_password_length=8
d. 重啟MySQL服務(wù):
sudo systemctl restart mysql
這樣設(shè)置后,密碼策略將要求密碼長度至少為8個字符,并且包含至少一個數(shù)字、一個大寫字母、一個小寫字母和一個特殊字符。
請注意,在MySQL 8.0版本中,validate_password插件已經(jīng)成為默認插件,無需額外安裝。可以直接通過修改validate_password_policy和validate_password_length參數(shù)來設(shè)置密碼復(fù)雜度策略。例如,設(shè)置密碼長度至少為8個字符,需要包含至少一個數(shù)字、一個大寫字母、一個小寫字母和一個特殊字符,可以執(zhí)行以下命令:
SET GLOBAL validate_password.policy=STRONG; SET GLOBAL validate_password.length=8;
以上是一些常見的設(shè)置方法,具體的設(shè)置方式可以根據(jù)實際需求和MySQL版本進行調(diào)整。