MySQL错误号码1862:your password has expired

MySQL错误号码1862:your password has expired_第1张图片

因为是好久没有用mysql,然后隔了三个多月再次登录就出现了以上问题,嗯嗯,从来不太会用命令行的我,在QQ群里求助,最终迷迷糊糊的解决了。。。。反正记录一下希望对大家有帮助吧,我到现在也迷迷糊糊的。

我是win8的系统。


1):win+R,运行里输入services.msc打开服务,关闭MySQL57服务(57是我的MySQL Server的版本号)

2):win+R。运行中输入cmd,cd C:/Program Files/MySQL/MySQL Server 5.7/bin回车进入bin目录下面,然后 mysqld --defaults-file="C:/ProgramData/MySQL/MySQL Server 5.7/my.ini"  --skip-grant-tables

一定是my.ini,我一开始找到Program Files下面的my-default.ini去了,可以再服务中右击属性查看一下,就是这个。

这句话貌似是在命令窗口中开了一个mySQL的服务,该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。

MySQL错误号码1862:your password has expired_第2张图片

3):win+R,新开一个cmd窗口,原来的别关了呀。

输入命令:

mysql -uroot -p

出现:

Enter password:

在这里直接回车,不用输入密码。

然后就就会出现登录成功的信息。

然后在这里登SQLyog就可以登进去了耶

4)更改密码(在SQLyog里面):update mysql.user set password=password("123456") where user='root';

5)反正后面就是>mysql -uroot -p123456命令行中可以登录进去,但是SQLyog还是不行,后面又查了资料:

都关闭了之后,服务中将MySQL57服务开启

运行窗口中进入bin目录,>mysql -uroot -p123456登录进去,然后执行select * from mysql.users

会有如下信息:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

解决:mysql> SET PASSWORD = PASSWORD('123456');

          Query OK, 0 rows affected (0.03 sec)

然后再select * from mysql.users就有结果了。

然后再SQLyog就登录进去了。

我的反正就好了,不知道怎么就好了呢,还有QQ群友远程协助来着:ありがとうございました。

嗯嗯,仅作参考吧。想想我大概想了十几回要卸载重装,但是最后也只是将SQLyog卸载重装了四次or五次?呵呵,卸载MySQL会比较麻烦吧,有问题还是努力去解决的好吧。加油!


参考资料:
1).http://www.cnblogs.com/andy_tigger/archive/2012/04/12/2443652.html
2). http://www.jb51.net/article/39187.htm

你可能感兴趣的:(数据库,MySQL登录问题)