mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change

时间:2022-06-05 20:15:31

环境:

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 -u root -p
         > use mysql
         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-11 16:52:49
      password_lifetime:  NULL
         account_locked: N
1 row  in  set  (0.00 sec)

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
      #service mysql restart

6、再次登陆 mysql 就正常了

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