如何在MySQL 8中重置root密码
MySQL中的用户密码存储在用户表中,密码重置实际上是改变该表中记录的值。 要在忘记密码的情况下更改密码,我们的想法是绕过MySQL的身份验证进入系统并使用SQL命令更新记录密码值。
在MySQL 5中,可以使用--skip-grant-tables选项启动MySQL服务,此选项将告诉服务在启动时跳过加载授权表,因此root用户可以使用空密码登录。
- mysqld –skip-grant-tables
登录后,可以在SQL命令下运行更改密码
- UPDATE user SET authentication_string='' WHERE user='root';
这会将密码设置为空。
但是,如果没有在MySQL 8中进行一些调整,似乎--skip-grant-tables无法正常工作。那么我们可以做些什么呢? 有两种可能的选择。
创建一个--init-file.并使用选项--init-file运行MySQL服务。 在init文件中,输入要更新密码值的SQL命令。
深入研究如何在MySQL 8中使用--skip-grant-tables。
我们来看看这些选项的工作原理。
选项1: --init-file option
此选项将指定包含要在服务启动之前执行的SQL命令的文件。 因此,我们只需要使用命令更新此文件中的密码并使用此选项启动MySQL服务。 密码将被重置/更新。
第1步:停止MySQL服务
- net stop mysql
步骤2:创建一个txt文件,并将下面的命令放入
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
步骤3:在命令行上启动服务,并使用--init-file选项
- mysqld --init-file=/some/path/to/cmd.txt --console
完成。 注意:当您遇到权限被拒绝的错误时,请以特权用户身份运行该命令。 如果你看到如下错误:
- 2018-12-27T05:51:23.739089Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.13) starting as process 1912
- 2018-12-27T05:51:23.759426Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
- 2018-12-27T05:51:23.761196Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
- 2018-12-27T05:51:23.762550Z 0 [ERROR] [MY-010119] [Server] Aborting
- 2018-12-27T05:51:23.766230Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.13) MySQL Community Server - GPL.
请运行以下命令初始化数据目录
- mysqld --initialize --console
选项2:使用--skip-grant-tables选项
与MySQL 5相比,MySQL 8中还需要添加更多选项。
- mysqld --console --skip-grant-tables --shared-memory
启动服务后,使用空密码登录
- mysql -u root
然后执行SQL命令更新密码
- UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
通常建议选项1。 并希望本文对你有所帮助。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文***更新链接地址:https://www.linuxidc.com/Linux/2018-12/156052.htm
相关文章
- 算法:合并两个有序链表
- 面试官:说说你在React项目是如何捕获错误的?
- React 中 setState 是一个宏任务还是微任务?
- Synchronized 优化手段之锁膨胀机制!
- HarmonyOS实战—单击事件的四种写法
- 透过浏览器看HTTP缓存
- 如何阅读源码 —— 以 Vetur 为例
- 盘点服装设计所经常性使用的软件---ET(中篇)
- 八个提高效率的VSCode必备扩展插件
- 你适合做救火队长嘛?
- 带Kubernetes的容器化存储在大企业成为主流
- Design for failure常见的12种设计思想
- Flutter 2 Router 从入门到放弃 - 基本使用、区别&优势
- Σ(っ°Д°;)っ找个对象"Object"还要用八股文?
- Vscode中6个好用的前端重构插件
- 中大型组织 DevOps 成熟度模型
- 今天,说一说线程池 “动态更新”
- 敏捷开发之研发流程
- 如何让你的开源项目更有展现力?
- 20年,1人写出70万行代码!沙盒游戏「鼻祖」13年靠玩家捐赠维生