安装mysql后在日志里提示了一个密码,但是,用这个密码登陆到mysql后,执行命令时出现提示:“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”,已经进入到mysql,说明密码没有问题,尝试着修改一下mysql的密码,但是提示密码不符合要求:“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”。一下子问题多了起来,没关系,我们一个一个多来,先修改密码的复杂度。
validate_password_policy是随着validate_password插件诞生而诞生的,换句话说如果没有安装validate_password插件,mysql就不支持密码的复杂度和长度的限制了。如果没有安装,可以执行:install plugin valaidte_password soname 'validate_password.so';57版本的,8.0版本的不一样
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_password_length | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | MEDIUM | | validate_password_special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.00 sec)
关于插件和组件对应的系统变量说明:
选项 | 默认值 | 参数描述 |
validate_password_check_user_name | ON | 设置为ON的时候表示能将密码设置成当前用户名。 |
validate_password_dictionary_file | 用于检查密码的字典文件的路径名,默认为空 | |
validate_password_length | 8 | 密码的最小长度,也就是说密码长度必须大于或等于8 |
validate_password_mixed_case_count | 1 | 如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。 |
validate_password_number_count | 1 | 密码必须包含的数字个数 |
validate_password_policy | MEDIUM | 密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。
0/LOW:只检查长度。 1/MEDIUM:检查长度、数字、大小写、特殊字符。 2/STRONG:检查长度、数字、大小写、特殊字符、字典文件。 |
validate_password_special_char_count | 1 | 密码必须包含的特殊字符个数 |
注意:组件和插件的默认值可能有所不同。例如,MySQL 5.7. validate_password_check_user_name的默认值为OFF。更多详细具体信息,建议参考官方文档。
设置长度为4,长度最小为4,设置1为无效。复杂度为0 set global validate_password_policy=0; set global validate_password_length=4;
卸载插件
mysql> UNINSTALL PLUGIN validate_password; Query OK, 0 rows affected, 1 warning (0.01 sec)
卸载组件
mysql> UNINSTALL COMPONENT 'file://component_validate_password'; Query OK, 0 rows affected (0.02 sec)
设置后,就可以修改密码;
alter user 'root'@'localhost' identified by '1234';
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏