环境:
Centos 6.5 mysql5.7
一、mysql5.7 密码过期问题
报错:
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
翻译:
错误1862(HY000):你的密码已经过期。登录必须改变它使用一个客户端,支持过期的密码。
解决方法:
1、 用忽略授权表的方法进入mysql
1 2 3 4 |
vi/etc/my.cnf [mysqld] skip- grant -tables :wq!#保存退出 |
2、进入mysql,查看root用户的详细信息
1 2 3 |
#mysql-uroot-p
>usemysql
> select * from mysql. user where user = 'root' G |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ***************************1.row***************************
Host:localhost
User :root
Select_priv:Y
Insert_priv:Y
Update_priv:Y
Delete_priv:Y
Create_priv:Y
Drop_priv:Y
Reload_priv:Y
Shutdown_priv:Y
Process_priv:Y
File_priv:Y
Grant_priv:Y
References_priv:Y
Index_priv:Y
Alter_priv:Y
Show_db_priv:Y
Super_priv:Y
Create_tmp_table_priv:Y
Lock_tables_priv:Y
Execute_priv:Y
Repl_slave_priv:Y
Repl_client_priv:Y
Create_view_priv:Y
Show_view_priv:Y
Create_routine_priv:Y
Alter_routine_priv:Y
Create_user_priv:Y
Event_priv:Y
Trigger_priv:Y Create_tablespace_priv:Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions:0
max_updates:0
max_connections:0
max_user_connections:0
plugin:mysql_native_password
authentication_string:*AC241830FFDDC8943AB31CBD47D758E79F7953EA
password_expired:N
password_last_changed:2015-11-1116:52:49
password_lifetime: NULL
account_locked:N 1row in set (0.00sec) |
3、把password_expired改成不过期
1 2 3 |
> update user set password_expired= 'N' where user = 'root' ;
>flush privileges ;
>quit |
4、把 /etc/my.cnf 的skip-grant-tables 这行注释掉
5、重启服务
1 |
#servicemysqlrestart |
6、再次登陆 mysql 就正常了
转自:http://blog.51cto.com/dahui09/1775501