MYSQL数据库Your password has expired. 解决方案

169 阅读1分钟

MYSQL数据库Your password has expired. 解决方案

在使用root登录mysql数据库时,有可能遇到临时密码过期的问题。 错误码如下:

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords

此时我们可以使用,无密码强制进入数据库,重置密码过期状态,重新登录的方案

1.修改my.cnf配置文件

vi /etc/my.cnf  

skip-grant-rables=1

image.png

2.重启mysql服务器

service mysqld restart

如果是通过二进制源码包安装的MYSQL,这种方式启动目前报错。可以通过安装目录下的support-files目录下的命令重启,如下图所示

image.png

3.无密码登录

mysql -u root

4.查看mysql用户状态并修改

select host,user,password_expired,account_locked from mysql.user;

image.png

assword_expired :Y:密码已经过期,改成N

update mysql.user set password_expired='N';

5.登录数据库

注释掉skip-grant-tables参数,并重启数据库后,就可以使用

mysql -u root -p

正常使用之前的临时密码登录数据

6.修改root密码

mysqladmin -u root -p'旧密码' password '新密码'