查看默认密码
sudo updatedb sudo locate mysqld.log
cat /var/log/mysql/mysqld.log | grep password
此处提示我是以空密码创建的,如果创建时有随机生成的密码,会在此处显示出来
然后进入MySQL查看密码安全策略。
SHOW VARIABLES LIKE 'validate_password%';
mysql密码安全策略
- validate_password.length —— 固定密码的总长度;
- validate_password.dictionary_file —— 指定密码验证的文件路径;
- validate_password.mixed_case_count —— 整个密码中至少要包含大/小写字母的总个数;
- validate_password.number_count —— 整个密码中至少要包含阿拉伯数字的个数;
- validate_password.policy —— 指定密码的强度验证等级,默认为 MEDIUM;
- validate_password.special_char_count —— 密码中特殊字符的最小长度
密码策略
- 0(LOW)—— 只验证长度
- 1(MEDIUM) —— 验证长度、数字、大小写、特殊字符;
- 2(STRONG) —— 验证长度、数字、大小写、特殊字符、字典文件;
修改密码安全策略
SET GLOBAL
是一个用于更改 MySQL 服务器全局系统变量的 MySQL 命令。全局系统变量是一组用于控制 MySQL 服务器行为和配置的参数。当你更改一个全局系统变量的值时,该值将影响到 MySQL 服务器的整个实例,直到该变量的值再次更改为止。
降低安全策略
set global validate_password.policy=LOW;
降低密码长度需求
set global validate_password.length=4;
设置英文字母(包含大小写)最小长度
set global validate_password.mixed_case_count=0;
其他选项都是一样的操作。
刷新权限
FLUSH PRIVILEGES;
设置新密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';