mysql5.7.26修改账号密码_修改mysql5.7的用户密码

MySQL5.7版本加入了密码安全策略机制,修改用户的密码必须符合安全策略的规则,否则无法修改。这对于本地开发来说,有点不方便,密码太长容易忘记,我本地的MySQL密码一般都是123456,这样就不会忘记了,下面我们通过修改MySQL的安全策略来修改用户的密码长度。

查看现有的密码策略1

2

3

4

5

6

7

8

9

10

11

12mysql> 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 |

+--------------------------------------+--------+

参数解释:

1).validate_password_dictionary_file 指定密码验证的文件路径;

2).validate_password_length 密码最小长度

3).validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数;

4).validate_password_number_count 密码至少要包含的数字个数

5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1

注意:

0/LOW:只检查长度;

1/MEDIUM:检查长度、数字、大小写、特殊字符;

2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

6).validate_password_special_char_count密码至少要包含的特殊字符数

修改用户密码

可以看到,现在MySQL的安全策略的等级是MEDIUM,也就是密码需要:数字、字母大小写、特殊字符这三种组合,并且不能少于8位。比如我现在想把root密码改为123456,是改不了的

1

2mysql> set password for 'root'@'localhost'=password('123456');

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

MySQL直接报错,因为密码不符合安全策略的规则。所以我们需要通过修改安全策略规则来实现目的

1

2

3

4

5mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;

Query OK, 0 rows affected (0.00 sec)

把MySQL的安全策略等级降为0,验证密码的长度改为6,我们再看一下现在的安全策略:

1

2

3

4

5

6

7

8

9

10

11

12

13mysql> SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+-------+

| Variable_name | Value |

+--------------------------------------+-------+

| validate_password_check_user_name | OFF |

| validate_password_dictionary_file | |

| validate_password_length | 6 |

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

可以看到,MySQL的安全策略已经符合我们的要求了,现在可以愉快的修改你密码了

1

2mysql> set password for 'root'@'localhost'=password('123456');

Query OK, 0 rows affected, 1 warning (0.00 sec)

已经不报错了,大功告成!!

注意:这里只能用于本地环境操作,切勿用于生产环境

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值