Your password has expired.To log in you must change it using a client that supports expired password
很久没有打开Navicat for MySQL,今天一打开,突然出现
Your password has expired.To log in you must change it using a client that supports expired password(密码过期) 这个错误,导致无法使用数据库,好在查了搜了很多资料和方法终于把这个问题解决了。看大佬的文章,感觉小白解决起来还是比较晕的,所以我把自己的解决过程整理一下,希望能帮到别人。
1、首先找到你自己mysql的安装路径,找到文件下的my-default.ini这个配置文件,如下图:
打开这个配置文件,在【mysqld】这个条目下添加#sikp-grant-tables
如下图:
写完保存然后关闭这个文件。
2、在我们的windows下开一个cmd窗口,进入到你的mysql下的Bin目录中,输入mysql -uroot -p --port=3306 (这个3306是我自己数据库连接的端口号),然后输入你之前的密码 如下图:
3、然后进入到了下面这个环节,输入下面的命令
4、再改自己的新密码
单引号里是你的新密码
5、下一步就继续输入命令进行权限刷新
6、完成这些操作以后可以试试打开自己的数据库,新建一个数据库,然后用新密码连接,就可以成功了
其实这一步已经表明修改密码成功了,但是看其他大佬的文章,里面说要把刚刚第一步里面加到my-default.ini里的#sikp-grant-tables这句话删掉。我试了一下,依然是OK的。
我在查找资料排除这个错误的时候,由于也是使用别人的一些经验,但是在cmd中有一些命令我输入就会有问题,所以建议大家遇到问题的时候可以结合好几个文档一起看,同一个问题的解决方式必然有相通之处。