root账户为MySQL的超级管理员用户,拥有MySQL提供的所有权限。我们登录了root账户可以重置其它创建的所有用户的密码,那么root账户的密码忘记了怎么办呢?由于版本和安装环境的不同,重置的方法也大不相同。下面我们就以mysql8忘记root账户密码进行重置演示操作过程。
一、安装环境
Windows10环境下默认安装mysql-installer-community-8.0.28.0.msi版本。默认安装状态下,将会在ProgramFiles文件夹中安装好MySQL的主文件。
在ProgramData文件夹中有MySQL的数据库文件Data和启动配置文件my.ini文件。
二、重置root账户密码操作步骤
1.以管理员方式启动cmd命令提示符
在【开始】菜单的【运行】输入“cmd ”,然后按组合快捷键【Ctrl+Shift+Enter】可直接进入管理员运行界面。
2.停止mysql服务
输入net stop mysql命令停止安装的mysql服务,其中服务名更改为自己安装的mysql服务名,服务名可在【服务】中查询确认。
net stop mysql
3.进入mysql安装的bin目录
4.跳过mysql权限验证
输入命令“mysqld --defaults-file=“C:ProgramDataMySQLMySQL Server 8.0my.ini” --console --skip-grant-tables --shared-memory”跳过权限验证。
其中my.ini所在的路径根据mysql自己安装的情况进行更改。
mysqld --defaults-file="C:ProgramDataMySQLMySQL Server 8.0my.ini" --console --skip-grant-tables --shared-memory
5.重新以管理员方式启动新的cmd命令提示符窗口,并进入mysql安装的bin目录
6.直接输入“mysql”进入mysql工作台界面
mysql
7.输入命令“use mysql;”打开mysql数据库
use mysql;
8.修改root账户密码
输入命令“ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;”修改root账户的密码
由于权限认证没有重新加载,执行修改密码语句后会报错。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
9.输入命令“flush privileges;”重新加载权限
flush privileges;
10.再次修改root账户密码
再次输入命令“ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;”修改root账户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
11.输入命令“exit”退出命令提示符窗口
exit
12.管理员方式启动新的cmd命令提示符窗口,输入命令“net start mysql”启动mysql服务
net start mysql
13.进入mysql安装的bin目录
输入命令“cd C:Program FilesMySQLMySQL Server 8.0in”进入mysql安装的bin目录
cd C:Program FilesMySQLMySQL Server 8.0in
14.输入命令“mysql -uroot -p”后输入修改的密码123456登录mysql
mysql -uroot -p
三、总结
本文在mysql8和mysql5.7两个版本均成功测试,相应的mysql安装目录和my.ini配置文件目录请务必根据自己安装情况进行更改。例如在跳过权限认证时,如果是在mysql5.7版本的默认安装下,应该修改为“mysqld --defaults-file=“C:ProgramDataMySQLMySQL Server 5.7my.ini” --console --skip-grant-tables --shared-memory”。
mysqld --defaults-file="C:ProgramDataMySQLMySQL Server 5.7my.ini" --console --skip-grant-tables --shared-memory
mysql5.6及以下版本不适用本重置方法,不用尝试。