mysql的密码参数是什么_MySQL 密码参数配置与修改 validate_password - G

MySQL 密码参数配置与修改 validate_password

场景

通过root用户创建travel_agency数据库,目标是,新建一个用户然后对仅对该用户开放travel_agency数据库而非其他数据库

过程

创建对所有ip开放的用户sx

CEATE USER "xx"@"%" IDENTIFIED BY "xx@2";

仅对sx用户开放travel_agency数据库,并刷新权限使授权生效

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)

...

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值