mysqlYou must reset your password using ALTER USER statement before executing this statement报错处理
Posted YJCCN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqlYou must reset your password using ALTER USER statement before executing this statement报错处理相关的知识,希望对你有一定的参考价值。
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决方式如下:
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD(‘xxxxxxxxx‘);
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY ‘xxxxxxxxxx‘;
原因分析:
MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。
输入以下命令,将账号密码强制到期:
mysql> ALTER USER ‘xiaoming‘@‘localhost‘ PASSWORD EXPIRE;
此时,用户可以登录到MYSQL服务器,但是在用户为设置新密码之前,不能运行任何命令,就会得到上图的报错,修改密码即可正常运行账户权限内的所有命令。由于此版本密码过期天数无法通过命令来实现,所以DBA可以通过cron定时器任务来设置MySQL用户的密码过期时间。
MySQL 5.7.4版开始,用户的密码过期时间这个特性得以改进,可以通过一个全局变量default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。可以在MySQL的my.cnf配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为120天,MySQL会从启动时开始计算时间。my.cnf配置如下:
[
以上是关于mysqlYou must reset your password using ALTER USER statement before executing this statement报错处理的主要内容,如果未能解决你的问题,请参考以下文章
You must reset your password using ALTER USER
MySQL You must reset your password using ALTER USE
You must reset your password using ALTER USER statement before executing this statement.
You must reset your password using ALTER USER statement before executing this statement.
You must reset your password using ALTER USER statement before executing this statement.
Mac 安装 MySQL 5.7 后登入后无法执行命令You must reset your password using ALTER USER statement before executing