linux上mysql密码过期时间_linux CentOS7 中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

vi /etc/my.cnf

[mysqld]

skip-grant-tables

:wq! #保存退出

2、进入mysql,查看root用户的详细信息

# mysql -u root -p

> use mysql

> select * from mysql.user where user='root' \G

*************************** 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-11 16:52:49

password_lifetime: NULL

account_locked: N

1 row in set (0.00 sec)

3、把password_expired 改成不过期

> update user set password_expired='N' where user='root';

> flush privileges;

> quit

4、把 /etc/my.cnf 的 skip-grant-tables 这行注释掉

5、重启服务

#service mysql restart

6、再次登陆 mysql 就正常了

转自https://blog.51cto.com/dahui09/1775501


版权声明:本文为weixin_30676351原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。