MYSQL 密码过期解决办法

时间:2024-02-22 21:08:49

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):你的密码已经过期。登录必须改变它使用一个客户端,支持过期的密码。

 

原网站 http://blog.vpupv.com:88/index.php/archives/17/

 

Windows解决该问题:

 

1:首先:任务管理器--》关闭mysqld.exe进程;

2:先进入mysql的bin目录下,运行如下:

> mysqld --skip-grant-tables  变为不可操作状态、然后再新打开一个命令窗;

3:进入bin目录下、

运行: > mysql     如下:

 

 

选择数据库

运行: > use mysql;

查看数据

运行: > select * from mysql.user where user=’root’ \G

将密码过期修改为 密码不过期;

运行: > UPDATE user SET `password_expired`=\'N\' where user=\'root\';

修改密码

运行: > UPDATE user SET `authentication_string` = PASSWORD(\'root\');

 

注释:

password_expired

      Y -> 密码过期; N -> 密码不过期;

authentication_string

      这个字段是MySQL5.7版本的密码字段、由之前的password变为authentication_string

 

运行: > flush privileges;

flush privileges 命令本质上的作用是将当前user和privilige表中的

用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里;

运行: >quit; / exit;

运行其中一个、结束本次操作;

运行: > net start MySQL;

重启mysql服务;便ok;

 

如果是在linux系统操作、

记得注释掉/etc/my.cnf 的 skip-grant-tables;

 

在安装mysql、运行mysqld install时候

遇到报错,如下:

Install/Remove of the Service Denied;

解决方法:

打开cmd.exe程序的时候选择“用管理员身份打开”。