MySQL报错:You must reset your password using ALTER USER statement before executing this statement.

先看问题如下

alter user root identified by "123456"; (密码不符合规范)

alter user 'root'@'localhost' identified by '123456';

set password for 'root'@'localhost'= password('123456'); (在之后的版本就没有这种执行方式了)

set password for root = '123456';

服务器上MySQL默认没有密码的,需要重置密码才可以进行其他操作。可以看到使用alter和set都是一样的提示。然后执行修改用户密码 看到错误提示变成了密码不符合规范。(合规密码:Root123root)

通过查询发现MySQL默认的密码规则有四种(validate_password.policy):

validate_password.policy:密码策略,默认值为MEDIUM。可以设置为LOWMEDIUMSTRONG或者自定义。例如,可以将其设置为LOW以降低密码复杂性要求。

SET GLOBAL validate_password_policy = LOW;

LOW:只验证长度;
MEDIUM:验证长度、数字、大小写、特殊字符;默认值。
STRONG:验证长度、数字、大小写、特殊字符、字典文件;

通过执行下面这行命令可以看到MySQL的密码策略

SHOW VARIABLES LIKE 'validate_password%';

validate_password.length:密码最小长度,默认值为8。可以根据需要修改最小密码长度。

SET GLOBAL validate_password_length = 6;

validate_password.number_count:密码中的数字要求,默认值为1。可以增加或减少数字的要求。

SET GLOBAL validate_password.number_count = 1;

validate_password.special_char_count:密码中特殊字符的要求,默认值为1。可以增加或减少特殊字符的要求。

SET GLOBAL validate_password_special_char_count = 1;

validate_password.mixed_case_count:密码中大写字母和小写字母的要求,默认值为1。可以增加或减少大写字母和小写字母的要求。

SET GLOBAL validate_password_mixed_case_count = 1;

还有一种通过修改配置文件,打开MySQL的配置文件,添加下面的内容到文件中(8.0之后版本为validate_password.xxx 而5.7之后的为validate_password_xxx):

validate_password.policy=LOW
validate_password.length=6
validate_password.number_count=1
validate_password.special_char_count=1
validate_password.mixed_case_count=1

修改完配置文件记得重启一下MySQL服务器

完整流程

这样就成功设置密码了。


ok 第一次是在服务器上遇到,服务器的版本是5.7。这一次在本地也遇到了

同样用前面的方法这次行不通了,原因是本地没有自动安装这个validate_password 插件

直接执行下面这条语句修改密码

ALTER USER root identified by "123456";

这行代码是不行的 alter user ‘root’@’localhost’ identified by ‘123456’;

修改密码后查询发现 是插件没有的原因

本地环境8.0.30 安装 validate_password  INSTALL COMPONENT 'file://component_validate_password';

OK 这下应该没问题了,现在来看也许第一步就可以执行修改密码语句就改成功了。

复杂密码(Root123root)

ALTER USER root identified by "123456";

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇