ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
your password has expired ,to log in you must change it using a client that supports expired passwords
您的密码已经过期,要登录您必须使用一个客户端来更改它。
支持密码到期
解决错误方法
1.在my.cnf mysqld 部分加入 skip-grant-tables 参数。
[mysqld]
skip-grant-tables
2.重启mysql数据库,然后登陆
3.查看mysql的用户状态
>select host,user,password_expired,account_locked from mysql.user;
+-----------+-----------+------------------+----------------+
| host | user | password_expired | account_locked |
+-----------+-----------+------------------+----------------+
| localhost | root | Y | N |
| localhost | mysql.sys | N | Y |
+-----------+-----------+------------------+----------------+
3 rows in set (0.00 sec)
password_expired :y说明密码已经过期,可以改成N,就是未过期
>update mysql.user set password_expired='N';
Query OK, 1 row affected (0.03 sec)
Rows matched: 2 Changed: 1 Warnings: 0
4.然后注释掉skip-grant-tables参数
重启mysql,用过期的密码就可以登陆了,登陆之后可以用下面的命令修改密码
>alter user user() identified by '123456';
Query OK, 0 rows affected (0.03 sec)
>flush privileges;
Query OK, 0 rows affected (0.03 sec)