mysql5.7启动登陆报错:ERROR 1862 (HY000): Your password has expired. To log in you must change it using a

问题如下,
在这里插入图片描述
这个报错原因其实是密码过期了。不管你是刚刚修改密码还是什么,只要登陆都是有问题的,都是报这样子的错误。

解决办法呢,就是先通过跳过授权表的方式启动数据库,

mysqld_safe --user=mysql--datadir=/data/mysql --skip-grant-tables --skip-networking &

这步其实也可以用另外一种办法代替,
就是我们直接去修改/etc/my.cnf这个文件,在[mysqld]下加入“skip-grant-tables”。
在这里插入图片描述
然后重启mysql服务器,

service mysqld restart

然后修改该用户密码过期策略为N,即依次执行这两句sql,

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

再次service mysql restart重启服务器这样就好了。

注意,如果第一步是通过shell命令跳过授权表的话,重启就可以;如果是通过更改/etc/my.cnf文件的话,记得把[mysqld]下的skip-grant-tables这个去掉再重启。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值