大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL 密码参数配置与修改 validate_password – G[通俗易懂],希望您对编程的造诣更进一步.
MySQL 密码参数配置与修改 validate_password
该文章匹配解决MySQL Error中的1819问题
场景
通过root用户创建travel_agency
数据库,目标是,新建一个用户然后对仅对该用户开放travel_agency
数据库而非其他数据库
过程
-
创建对所有ip开放的用户sx
CEATE USER "xx"@"%" IDENTIFIED BY "xx@2";
代码100分
仅对sx用户开放
travel_agency
数据库,并刷新权限使授权生效代码100分
GRANT ALL PRIVILEGES ON `travel_agency`.* TO "sx"@"%" WITH GRANT OPTION; FLUSH PRIVILEGES;
回收可以使用 REVOKE … ON … FROM “xxx”@”xxx”;
@前面为用户名,@后面接限制的主机,%表示任何地方。(注意:这里%有的版本不包括本地,遇到这个问题再加一个localhost的用户就可以)
删除用户:
DROP USER ‘xx’@”xx”;
but
在默认配置下进行第一步时会报出1819问题,说密码不符合规范
默认配置的介绍
在mysql5.7版本后已经默认安装validate_password插件,该插件可以控制密码的最低要求
我们先查询未改动的状态,即默认状态
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.01 sec)
常用:
- validate_password_policy:安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位
- validate_password_length:密码最小长度
- validate_password_mixed_case_count:至少有大小写字母n对,即2*n个
- validate_password_number_count:最少数字数量
- validate_password_special_char_count:最少符号数量
不常用:
- validate_password_check_user_name:用户名检测,检测是否重名
- validate_password_dictionary_file:字典文件,启动后必须要满组所使用字典的规则才能满足密码的条件
Solution of 1819
我们为了可以使用xx@2的密码,对相关参数做出调整即可(使用SET GLOBAL
)
代码100分...
set global validate_password_mixed_case_count=0;
-- 改为0对就不会强制要求必须有大小写
set global validate_password_length=2;
最终改为
mysql> show variables like "validate_password%";
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 2 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
自动增大的validate_password_length
validate_password_length
会根据其他设定进行自动增大,计算公式为
密码最小长度=数字最小长度+符合最小长度+2*(大小写最小对数)
验证如下:
ysql> set global validate_password_length=2;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "validate_password%";
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 2 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
mysql> set global validate_password_mixed_case_count=1;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "validate_password%";
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7316.html