MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格
一、密码复杂度
1.密码复杂度配置文件:/etc/my.cnf (CentOS 7下)
2.取消密码复杂度
plugin-load=validate_password.so
validate-password=OFF 禁用validate-password
重启服务即可
3.验证是否安装密码复杂度插件
mysql>SHOW VARIABLES LIKE 'validate_password%';
4.密码复杂度对应值
mysql>show variables like 'validate_password%';
说明:
001、validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong。
002、validate_password_length密码长度的最小值(这个值最小要是4)。
003、validate_password_number_count 密码中数字的最小个数。
004、validate_password_mixed_case_count大小写的最小个数。
005、validate_password_special_char_count 特殊字符的最小个数。
006、validate_password_dictionary_file 字典文件
二、初次安装需要更改密码
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
三、密码忘记
1./etc/my.cnf 加一行
skip-grant-tables
2.保存退出后重启服务
3.service mysqld restart
4.登录
设置密码
mysql>
update user set password=password("*******") where user="*******";
如果mysql是5.7版本起的,则没有password这个字段了,改成
authentication_string【mysql>
update mysql.user set authentication_string=password('*******') where user='*******';】
5.输入密码验证后,记得将skip-grant-tables删除或者注释