连接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
全部评论