在MySQL中,可以通過修改密碼驗證插件和密碼復雜度策略來設置密碼復雜度。以下是一些常見的設置方法:
修改密碼驗證插件:MySQL 5.7及更高版本默認使用了密碼驗證插件caching_sha2_password,可以通過修改為mysql_native_password來簡化密碼驗證。可以通過以下命令修改:
ALTER USER ‘username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
設置密碼復雜度策略:MySQL 5.7及更高版本支持密碼策略插件,可以通過安裝插件來設置密碼復雜度。以下是一個示例:
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,添加以下內容:
plugin-load-add = validate_password.so validate_password_policy=STRONG validate_password_length=8
d. 重啟MySQL服務:
sudo systemctl restart mysql
這樣設置后,密碼策略將要求密碼長度至少為8個字符,并且包含至少一個數字、一個大寫字母、一個小寫字母和一個特殊字符。
請注意,在MySQL 8.0版本中,validate_password插件已經成為默認插件,無需額外安裝。可以直接通過修改validate_password_policy和validate_password_length參數來設置密碼復雜度策略。例如,設置密碼長度至少為8個字符,需要包含至少一個數字、一個大寫字母、一個小寫字母和一個特殊字符,可以執行以下命令:
SET GLOBAL validate_password.policy=STRONG; SET GLOBAL validate_password.length=8;
以上是一些常見的設置方法,具體的設置方式可以根據實際需求和MySQL版本進行調整。