连接MySQL服务器的时候,提示了以下错误:

Your password has expired. To log in you must change it using a client that supports expired password

由于MySQL的安全策略,你设置了的密码可能过期了,

解决办法也很简单,如果是root密码的话,和忘记密码的操作几乎一致。

首先,我们编辑my.cnf文件

vim /etc/my

在[mysqld]配置下增加 skip-grant-tables 选项。

保存文件,重启mysql服务

service mysqld restart

然后,这个时候就可以空密码进入mysql客户端了。

mysql  -uroot -p

这个时候,我们可以查看过期用户的状态。

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

+-----------+-----------+------------------+----------------+ | host | user | password_expired | account_locked | +-----------+-----------+------------------+----------------+ | localhost | root | Y | N | | localhost | mysql.sys | N | Y | +-----------+-----------+------------------+----------------+

这里password_expired 显示的是yes,我们直接修改为N即可

update mysql.user set password_expired='N' where user='root';

当然,别忘了刷新权限。

flush priviledges;

最后一步,我们需要把my.cnf文件里的skip-grant-tables去掉,然后重启mysql服务即可。

service mysqld restart