Windows环境下Mysql数据库Root用户忘记密码与Linux环境处理方式不同。下面将详细介绍说明。
1、打开系统服务管理,停止Mysql服务,或者用CMD命令
net stop mysql
2、用管理员模式打开CMD窗口,进入Mysql安装目录,手动启动Mysql服务;
cd c:\Program Files\MySQL\MySQL Server 5.7\bin
手动启动Mysql数据库服务,注意参数。CMD窗口不要关闭。
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-table
3、新打开另外一个CMD窗口,切换到Mysql的bin安装目录。
cd c:\Program Files\MySQL\MySQL Server 5.7\bin
mysql -uroot -p
提示数据密码,直接回车,即可进入Mysql客户端命令行模式。
4、修改root用户密码,注意Mysql5.7版本之前修改密码的方式不同,下面分别说明。
Mysql 版本小于 5.7 的情况:
update user set password=password('新密码') where user='root';
Mysql 版本大于5.7的情况:
update user set authentication_string=password('新密码') where user='root';
或者
set password=password('新密码');
5、刷新权限
flush privileges;
6、关闭命令还模式启动的Mysql服务,关闭CMD窗口后,在任务管理器结束Mysqld数据库服务进程;
如果客户端程序提示用户密码过期;例如:
Your password has expired. To log in you must change it using a client that supports expired passwords.
可以将root用户的密码修改为永久不过期。
ALTER USER 'root' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
重新正产启动服务,用户新修改的密码登录。