我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 密码参数配置与修改 validate_password - G

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 密码参数配置与修改 validate_password - G

MySQL 密码参数配置与修改 validate_password - G

MySQL 密码参数配置与修改 validate_password

该文章匹配解决MySQL Error中的1819问题

 

场景

通过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)

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 密码参数配置与修改 validate_password - G

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 密码参数配置与修改 validate_password - G

MySQL 密码参数配置与修改 validate_password该文章匹配解决MySQL Error中的1819问题 场景通过root用户创建travel_agency数据库,目标是,新建一个用户然后对仅对该用户开放travel_agency数据库而非其他数
MySQL 密码参数配置与修改 validate_password - G
2018-09-26

如何通过配置文件my.ini修改mysql密码

目录编辑my.ini 在[mysqld]字段下添加 skip-grant-tables重启mysql服务进入MySQL数据库再次重启mysql服务总结编辑my.ini 在[mysqld]字段下添加 skip-grant-tables首先打
2022-12-26

LINUX中centos7.6如何修改静态IP与配置参数NM_CONTROLLED

小编给大家分享一下LINUX中centos7.6如何修改静态IP与配置参数NM_CONTROLLED,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 目前,各种OS操作系统版本疯狂升级,并且随之而变的操作系统设置也有很
2023-06-04

怎么通过修改jdbc配置文件方式修改Weblogic数据源密码

这篇文章主要讲解了“怎么通过修改jdbc配置文件方式修改Weblogic数据源密码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么通过修改jdbc配置文件方式修改Weblogic数据源密码
2023-06-04

MySQL数据库配置信息查看与修改方法详解

目录摘要查看查看数据基本信息查询sql_mode查看在配置文件中定义的变量查看mysql的服务当前运行时的变量查看MySQL默认认证方式修改MySQL的系统变量根据变量修改的方式根据变量的生效范围总结摘要当在不同团队间使用MySQL数据库
2022-06-23

编程热搜

目录