【第一步】关闭数据库服务
使用管理员权限运行命令提示符,在窗口中输入“net stop mysql;”如图所示,表示已关闭数据库服务。
【第二步】跳过数据库权限验证,连接mysql数据库
使用cd命令进入mysql数据库安装目录下的bin文件夹,我的是“C:\Program Files\MySQL\MySQL Server 8.0\bin”,如下图所示:
然后,输入“mysqld --shared-memory --skip-grant-tables”,然后窗口保持不动,如下图所示:
先不管这个窗口,另外再起一个管理员权限的命令提示符窗口,同样地用cd命令进入mysql数据库的安装目录下的bin文件夹下,再输入“mysql”回车(使用空密码连接mysql数据库),发现连接成功。如下图所示:
【第三步】重置root密码和加密规则
1.在刚才第二步的窗口中接着输入命令“update mysql.user set authentication_string='' where User = 'root';”重置root密码。如下图所示:
2.使用“quit”命令退出mysql命令模式。接着,使用“net start mysql”命令打开数据库服务,然后,使用命令“mysql -u root -p”连接mysql数据库,出现“Enter Password”时,直接回车(表示使用空密码连接数据库)。如下图所示:
3.由于为了方便使用Navicat for MySql管理MySql数据库,故使用加密规则为“mysql_native_password”,所以,接下来输入命令“ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '想要设置的新密码';”重置密码为“想要设置的密码”,如下图所示:
【第四步】刷新权限
使用命令“FLUSH PRIVILEGES;”刷新权限,保存设置,然后使用“quit”命令退出mysql连接。然后关闭所有命令提示符窗口。如下图所示:
【第五步】测试重置是否成功
使用管理员权限运行命令提示符,然后进入mysql数据库的bin文件夹下,输入“mysql -u root -p”回车后输入刚才重置的密码,出现如下图所示界面,说明重置密码成功。
【结束】完成重置
输入“quit”回车,退出mysq连接;接着输入“exit”回车,退出命令提示符。