PROMPT_MIN_LEN_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARSONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS ONLY ALPHA.
MIDDLE
至少8位,包含大写、小写、数字、特殊字符。
STRONG
至少12位。包含大写、小写、数字、特殊字符,而且不能包含使用者名或常见词。
⚠️ 关键:如果你使用的是 MIDDLE/STRONG,请确保新密码满足上述所有条件。否则 MySQL 会返回 Your password does not meet password policy requirements.
A. 如何检查当前策略?其实,
# 登录 MySQL
mysql -u root -p
# 查看策略
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_policy';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_length';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_mixed_case_count';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_number_count';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_special_char_count';END,
B. 临时提高策略
# 仅限测试环境
SET GLOBAL validate_password_policy = LOW;SET GLOBAL validate_password_length = 8;
3️⃣ 创建新使用者并设定密码
a) 基本创建语句
COPY;CREATE USER 'username'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd!',COPY;
b) 强制使用 caching_sha2_password
COPY;CREATE USER 'username'@'localhost'
IDENTIFIED WITH caching_sha2_password BY 'StrongP@ssw0rd!',COPY;
PROMPT_MIN_LEN_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARS_ONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS_ONLY_ALPHABETIC_CHARSONLY_DIGITS_AND_SPECIAL_CHARACTERS_OR_UPPERCASE_LETTERS_ONLY_ALPHANUMERIC_CHARACTERS ONLY ALPHA.
MIDDLE
至少8位,包含大写、小写、数字、特殊字符。
STRONG
至少12位。包含大写、小写、数字、特殊字符,而且不能包含使用者名或常见词。
⚠️ 关键:如果你使用的是 MIDDLE/STRONG,请确保新密码满足上述所有条件。否则 MySQL 会返回 Your password does not meet password policy requirements.
A. 如何检查当前策略?其实,
# 登录 MySQL
mysql -u root -p
# 查看策略
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_policy';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_length';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_mixed_case_count';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_number_count';SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='validate_password_special_char_count';END,
B. 临时提高策略
# 仅限测试环境
SET GLOBAL validate_password_policy = LOW;SET GLOBAL validate_password_length = 8;
3️⃣ 创建新使用者并设定密码
a) 基本创建语句
COPY;CREATE USER 'username'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd!',COPY;
b) 强制使用 caching_sha2_password
COPY;CREATE USER 'username'@'localhost'
IDENTIFIED WITH caching_sha2_password BY 'StrongP@ssw0rd!',COPY;