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。 并希望本文对你有所帮助。

mysql 8重置root密码_如何在MySQL 8中重置root密码相关推荐

  1. ubuntu 命令卡住_如何在Ubuntu系统中重置root密码

    IT服务圈儿 有温度.有态度的IT自媒体平台 经授权转自公众号:良许Linux(ID:liangxuxiansheng) 很多人有个问题,就是喜欢把密码设置得很长很复杂,结果谁也没防住,却成功防住了自 ...

  2. vscode重置应用程序_如何在Windows 10上重置应用程序的数据

    vscode重置应用程序 With Windows 10's Anniversary Update, you can now reset an app's data without actually ...

  3. mysql存储音频视频文件_如何在mysql 或者 其他的数据库中存放图片 音频 视频

    root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...

  4. mysql按特定的顺序_如何在MySQL中按特定顺序排列数据?

    使用ORDER BYIF()可以按特定顺序排列数据.以下是语法-select *from yourTableName ORDER BY IF(yourColumnName=yourValue1 OR ...

  5. mysql外键约束脚本_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

  6. 如何打开mysql的批处理宫娥能_如何在MySQL中进行批处理插入

    大话西游666 大多数情况下,您不是在MySQL客户机中工作,您应该使用适当的API将插入批处理到一起.例如,在JDBC中:connection con.setAutoCommit(false); P ...

  7. mysql时间排序最后一个_如何在MySQL中按日期排序,但最后放置空日期?

    按日期排序,并借助ORDER BY子句和IS NULL属性设置最后一个空日期.语法如下:SELECT *FROM yourTableName ORDER BY (yourDateColumnName  ...

  8. mysql排序规则英文 数字_如何在MySQL中为日语设置模式排序规则

    我有整理问题.我想设置整理以支持日语.例如,当table.firstname具有"あ"时,带有"ぁ"的查询应返回记录.提前致谢. 解决方法: 这就像" ...

  9. mysql怎么创建出生日期表_如何在MySQL中从出生日期开始生成数字序列

    如果您可以使用外部编程语言,则可以使用(例如)this Ruby library为每行生成正确的PESEL编号. 另一方面,如果你想在MySQL中单独使用,你可以使用类似下面的函数(基于上面提到的Ru ...

最新文章

  1. 深入理解 C 指针阅读笔记 -- 第一章
  2. 反思转变:多努力以积累  多动脑以应变
  3. 打开和关闭Oracle Flashback
  4. 基于SLF4J MDC机制实现日志的链路追踪
  5. Lambda项目:迈向多核及超越
  6. LeetCode - Partition List
  7. spirng底层实现原理
  8. keil5.24 +注册机 下载
  9. RHEL 7 新特性
  10. vue NavigationDuplicated: Avoided redundant navigation to current location
  11. 软文和广告的区别在哪里?软文是广告吗?
  12. 股票API数据实时查询
  13. vscode插件及配置
  14. 求素数(质数)的方法(求100以内的素数及判断该数是否为素数)
  15. 【Spark深入学习 -10】基于spark构建企业级流处理系统
  16. 《沉默的云》.读书笔记(二)
  17. NBIOT模块基于电信IOT平台的南向对接流程
  18. 两岸通衢处,飞虹跨碧溪:华为OptiXstar光猫开启的千兆征途
  19. 图像处理中几个基本的处理方法c#代码实现
  20. 服务器的固态硬盘使用raid非ssd,在VMware ESXi中使用固态硬盘的注意事项

热门文章

  1. python埋点测试_埋点进化论:从埋点到无埋点
  2. SparkSQL之External Data读写parquet
  3. mysql开启远程访问
  4. 命犯编程!因为名字特殊,她被苹果封了 6 个月
  5. 39 岁网络技术员入住养老院,早 6 晚 9 的作息、和老人一起追剧晒太阳!
  6. 北京那些年轻人的秘密,都藏在这篇文章里
  7. ​你可能不太会用的10个Git命令
  8. zenmap nmap输出无显示_液晶显示器高压板坏的现象及维修思路 。
  9. 有向加权图 最大弱连通分支_买入加权组合式等价对敲
  10. 不混淆某个方法_英文和拼音会混淆吗?这些事越早知道越好