MySql 8.0.17 安装完成后重置密码的解决方法

在之前的文章MySQL 8.0.11中,密码是保存在err结尾的文件内,但在现今版本中,可能出于安全的考虑不再以明文的方式存储,只有在初始化时,才在控制台中输出:

mysqld --initialize --console

如果你已经错过了控制台输出的密码,那么登录时就会提示:

ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password) 

没有其他查看的方法,只能重置密码。

重置方法

如果你的数据库是刚安装,什么都还没有,那么可以删除安装目录下的data文件夹,再执行一次初始和安装的命令即可。

下面我们介绍一种不删除数据的情况下重置密码的方法:

首先,我们需要把服务停止,使用:

net stop mysql

停止服务后,在打上:

mysqld --shared-memory --skip-grant-tables

(注意:以上命令执行后,光标一直在下一行闪烁,就是正常的,不需要等,此时需要打开新的命令窗口操作)

打开新的cmd,cd到安装目录中,直接输入mysql就可以正常启动了

此时如果直接修改密码,会提示该模式下无法操作:

解决方法是先执行:

flush privileges;

然后就可以修改了

SET PASSWORD FOR 'root'@'localhost' = 'password';

如果此时提示:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

不要怀疑前面的操作,是你的服务停了没有启动,使用 net start mysql 启动即可

参考链接:

https://blog.csdn.net/baidu_32363401/article/details/81544573

猜你喜欢

转载自blog.csdn.net/tg928600774/article/details/102349738