mysql忘记root密码解决方法(版本mysql-8.0.12)

问题截图

在这里插入图片描述

问题描述

在Navicat无法创建连接(重置密码也可以用这种方法)

问题原因

mysql密码错误

解决办法

1.以管理员身份登陆cmd,停止MySQL服务

(1)先查看自己的数据库的服务名(开关服务器都需要这个服务名)

C:\Windows\system32>net start

在这里插入图片描述
(2)停止MySQL服务

C:\Windows\system32>net stop MySQL80

在这里插入图片描述

2.设置跳过MySQL的密码验证

(1)进入到mysql安装目录下的bin路径,在mysql/bin/目录下输入命令:mysqld --shared-memory --skip-grant-tables

C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld-nt --skip-grant-tables

注意:输完这条命令,该命令行窗口应该卡住不动。

3.设置无密码登陆

(1)新开一个CMD窗口,进入到mysql安装目录下的bin路径(无需重复启动mysql服务),在bin目录下输入:mysql
在这里插入图片描述
注意:此时可以连接成功
(2)重置root密码为空(注意:这里需先置为空密码,否则无法登陆)
在上一个名的窗口输入命令:update mysql.user set authentication_string=’’ where User = ‘root’;
(注意分号)

mysql> update mysql.user set authentication_string='' where User = 'root'; 

在这里插入图片描述

4. 设置新密码

(1)退出所有的命令行(关闭所有的cmd窗口,重新打开一个),启动数据库

C:\Windows\system32>net start MySQL80

在这里插入图片描述

(2)进入到MySQL下的bin目录下,重新登陆数据库(直接Enter就可以进入了)

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p

在这里插入图片描述
(3)修改新的密码

alter user 'root'@'localhost' identified by  'xxxx'; 

注意:xxx为自己设置的密码
在这里插入图片描述

错误提示

如果出现下面的截图错误
在这里插入图片描述
说明你的data目录不和bin在一个路径下,需要找到data目录,然后复制到和bin一个目录下就可以了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44480968/article/details/119852115