上一节的MySQL的配置安装里,并没有用到配置文件my.ini。那在MYSQL8.0.13如何解决密码重置问题呢。我去网上搜了好多的资料都是改配置文件my.ini的,后来终于找到了一条命令:操作步骤如下:
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld –skip-grant-tables
以不输入密码的方式启动MySQL服务,但是这条命令对MYSQL8.0.13,是没有任何作用的。
2..后来又在网上看到这条命令:mysqld --console --skip-grant-tables --shared-memory
操作步骤同1
打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld --console --skip-grant-tables --shared-memory
现在可以以没有密码的方式登录了,但是直接执行命令:
会报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
经过多次试验最终,重置密码的步骤如下
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,
2.开启跳过密码验证登录的MySQL服务
输入命令
mysqld --console --skip-grant-tables --shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
4. 密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root';
5.退出mysql,执行命令:
quit
6. 关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
7. 打开命令框,输入:net start mysql 启动MySQL服务。
8.步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
9.利用上一篇博客中更改密码的命令,成功修改密码,如下图:
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'新密码'
;
10.验证更改后密码正确登录
输入quit,退出当前登录,输入登录命令:mysql -u root -p
输入密码,成功登录,到此,重置密码结束。