1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing t

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

时间:2020-05-02 02:26:09

相关推荐

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

前言:这篇转载的文章是我很久以前写的,但是后来手机换号了,又注册新号开始继续写blog。旧文章不能合并到新账号,就以转载的形式纪念下过去

环境:ubuntu 16.04/mysql 5.7.16

今天使用mysql的时候出现了下面这种情况:

mysql> show databases;

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

根据错误提示进行重置密码:

mysql> set password=password(‘123321’);

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

然后要注意的是,mysql有个设置密码周期的地方,我们可以用下面命令来进行查看,先进入数据库以下我做的操作都是root下进行的:

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select password_lifetime from user where User=‘root’;

±------------------+

| password_lifetime |

±------------------+

| NULL |

±------------------+

1 row in set (0.00 sec)

可以看出此时系统默认设置为空,也就是说,你如果改了密码,你下次再登录就会因为密码过期而出现问题.

所以接下来,我们要对密码的有效期进行设置:

mysql> update user set password_lifetime=90 where User=‘root’;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

这是将密码有效期设置成90天,如果要设置成为永远有效,可以像下面这样:

mysql> update user set password_lifetime=0 where User=‘root’;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

或者这样设置为永远有效:

mysql> alter user ‘root’@’%’ password expire never;

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

最后刷新下权限:

mysql> flush privileges;

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

完成

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。