前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql 8.0 忘记root密码_linux系统重置root密码

mysql 8.0 忘记root密码_linux系统重置root密码

作者头像
全栈程序员站长
发布2022-11-08 11:35:31
10.4K0
发布2022-11-08 11:35:31
举报
文章被收录于专栏:全栈程序员必看

在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL的root密码。当然,最简单方式自然是删除数据库的data目录,然后重新安装数据库。但是很多时间我们需要保留data目录中的数据,所以就需要查找如何重置root密码。

我们知道,在知道root密码时,可以使用“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”指令来修改root用户的密码,如下图:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

只需要这一行指令就完成了对root密码的从新设置,无需其他操作,十分的简单。 但是,如果忘记了root密码,又该如何重置呢?根据官方文档的描述,Windows系统下有两种方法可以修改密码,官方文档请参考:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html 方案一:执行初始化文件 步骤1:使用管理权限的账户登录系统; 步骤2:停止MySQL的服务,不管用什么方法,必须让它停下来,如下图:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

步骤3:创建一个文件mysql-init.txt,里面写着修改密码的指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”,然后将文件保存,如图所示:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

步骤4:在终端界面中,进入到MySQL安装的bin目录下:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

步骤5:在bin目录下,执行mysqld,并指定刚才创建的mysql-ini.txt作为初始化文件,使用指令为“mysqld –defaults-file=”D:\Programs\MySQL\MySQL-8.0.12-winx64\my.ini” –init-file=”D:\Programs\MySQL\mysql-ini.txt””,其中,–defaults-file指定的是配置文件,–init-file指定的是初始化执行的文件,如下图所示:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

按回车键之后,不要关闭终端,需要再打开一个终端,来确认密码修改是否成功:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

很明显,登陆成功了,修改密码方式正确! 当然,若是真的关闭了终端,也可以使用“net start MySQL”的指令方式启动MySQL,然后再进行验证:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

步骤6:删除创建的mysql-ini.txt文件,当然,不删除也是可以的!

方案二:使用登录时跳过验证的方式重置root密码 步骤1:先关闭MySQL服务,然后使用“–skip-grant-tables”配置项,跳过权限验证方式重启MySQL服务:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

这里使用的指令是“mysqld –shared-memory –skip-grant-tables”,若是只是“mysqld –skip-grant-tables”的话,会导致mysqld启动失败,提示“TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS”错误。经过测试,只有加上“–shared-memory”才能启动、访问数据库。 步骤2:在打开一个终端,在里面使用免密的方式登陆数据库,直接运行mysql即可:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

步骤3:首先刷新执行指令“FLUSH PRIVILEGES;”,刷新权限:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

然后执行指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_psd_123’;”进行密码更新操作,“new_psd_123”即是设置的新密码:

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

设置完成后,正常启动MySQL服务,使用用户名密码进行验证是否设置成功!

mysql 8.0 忘记root密码_linux系统重置root密码
mysql 8.0 忘记root密码_linux系统重置root密码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184120.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月9日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档