menu HCG_Sky's Blog
more_vert
chevron_right 首页 » 教程,随笔,Windows » MySQL8.0 root密码忘了怎么办?(Windows)
MySQL8.0 root密码忘了怎么办?(Windows)
2022-03-28 | 教程,随笔,Windows | 暂无评论 | 1418 次阅读 | 806字

root用户密码忘了怎么办啊喂!

前言

 依旧是在了解MySQL的DCL时,跟着视频学习时,老师讲了在忘记root密码的情况下的解决方法,依旧是在照葫芦画瓢后却报错了,不需要思考了,肯定又又叒是版本的问题(我使用的是8.0,视频教学中使用的是5.7),按照惯例我在搜寻、探索一番后得到了解决的方案,在此记录一下,由于我在同时使用Windows和Mac Os,所以两个系统的解决方法我都进行了学习,本篇为Windows的解决方法,需要Mac Os解决方法的小伙伴请跳转我的另一篇博客MySQL8.0 root密码忘了怎么办?(Mac Os)

在教学中,老师对于MySQL 5.7以前的做法是(我使用的是MySQL8.0)

#第一步 管理员权限打开命令窗口 --> net stop mysql        停止mysql服务(指令中的'mysql'取决你的服务名)
#第二步 使用无验证方式启动 mysql 服务:mysqld --skip-grant-tables
#第三步 打开新的命令窗口,直接输入'mysql'命令,回车。就可以登录成功
#第四步 USE mysql;
#第五步 UPDATE user SET password = PASSWORD('新密码') WHERE user = 'root';
#第六步 关闭两个窗口
#第七步 打开任务管理器,手动结束 mysqld.exe 的进程
#第八步 启动 mysql 服务
#第九步 使用新密码登录

 看过我上一篇文章的应该知道,PASSWORD()函数已经在新版本8.0以后废弃了,所以这种解决方法是肯定不适用的,因此又产生了这篇文章,下面我们来看看在Windows下MySQL 8忘记密码,如何登录及修改密码吧(这里以Win10为例)


第一步

以管理员身份运行控制台,关闭MySQL服务

使用命令:net stop mysql

需要注意的是:stop后的mysql是服务名称,取决于你安装数据库时起的名字,例如我是 MYSQL80 那我要使用的命令就是 net stop MYSQL80


第二步

启动跳过授权表,免密登录的服务

使用命令:mysqld --console --skip-grant-tables --shared-memory


第三步

用管理员身份重新打开一个控制台窗口,然后免密码登录Mysql

使用命令:mysql.exe -u root


第四步

使用MySQL的mysql数据库

使用命令:USE mysql


第五步

先修改root的密码为空。特别注意authentication_string=''的等号后是一对单引号

使用命令:UPDATE mysql.user SET authentication_string='' WHERE user = 'root';


第六步

在上一步的基础上查询root的用户分组和密码

使用命令:SELECT host,user,authentication_string FROM mysql.user;

可以看到,在修改以后,root用户的密码已经为空


第七步

关闭之前保留的那个控制台窗口和现在使用的这个控制台窗口,一共关闭两个控制台窗口

然后以管理员身份再新打开一个控制台窗口,启动MySQL的服务

使用命令:net start mysql

需要注意的是:stop后的mysql是服务名称,取决于你安装数据库时起的名字,例如我是 MYSQL80 那我要使用的命令就是 net start MYSQL80


第八步

重新登录MySQL,要输入密码的时候,什么都不用输入直接回车即可

使用命令:mysql -u root -p


第九步

最后一步,修改root密码

使用命令:ALTER user 'root'@'localhost' IDENTIFIED BY '12345678';


测试

改完密码直接关闭控制台窗口,然后新开一个控制台窗口

使用命令:mysql -u root -p

回车后输入密码,登录成功就说明你成功了,撒花~

文章目录
发表评论
暂无评论
textsms
account_circle
email
link


七牛云 腾讯云 阿里云 百度统计 TrustAsia 安全签章 MySSL 安全签章