MySQL5.6密码过期

今天打开navicat,使用root@localhost登录,提示密码过期,选择命令行登录,输入密码,可以正常登录,但查询表:

SELECT * FROM MYSQL.USER;

报错如下:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

可是明明可以用密码登录,参考文档后,需要重新设置密码;

mysql> SET PASSWORD = PASSWORD('123456'); 
Query OK, 0 rows affected (0.03 sec) 

重新设置后,可以正常查询,且Navicat可以使用新密码正常登录;

进入后,查看mysql.user表,发现passwor_expired字段,root@loacalhost为N,其他用户为Y,这就是用户密码过期的问题,修改如下:


 

 

其他用户可以正常登录,至此密码过期问题解决

猜你喜欢

转载自holyland.iteye.com/blog/2175331