关于mysql密码过期策略出现ERROR 1820 (HY000): You must reset your password using ALTER USER statement before ex

关于mysql密码过期策略导致无法执行语句问题解决方案:

1.今天忽然间mysql远程无法登录,去服务器查看 登录正常,但是无法执行语句,提示报这样的错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

提示说:您必须在执行此语句之前使用ALTER USER语句重置密码

很是奇怪,后来去查找资料发现官方提示:

Password Expiration Policy

To expire an account password manually, use the ALTER USER statement:

是说 

要手动使帐户密码失效,请使用以下 ALTER USER语句:

一:

扫描二维码关注公众号,回复: 10909888 查看本文章
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;

然后复制执行后发现依然有问题,提示需要ALTER USER语句,

最后发现原来是版本问题,

二:

SET PASSWORD = PASSWORD('root'); ​​​​​​​

这种受限的操作模式允许使用 SET 语句,在SET PASSWORD必须使用MySQL 5.7.6之前,该语句非常有用,如果 必须使用该语句,ALTER USER并且帐户密码的哈希格式要求 old_passwords将其值设置为与默认值不同的值。

总结:如果是5.7.6之前 使用二方式,如果是5.7.6后使用一解决

后面附上参考资料有兴趣可以去深究:https://dev.mysql.com/doc/refman/5.7/en/password-management.html

 
发布了15 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36546907/article/details/105483677
今日推荐