mysql 8重置root密码_如何在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。 并希望本文对你有所帮助。
mysql 8重置root密码_如何在MySQL 8中重置root密码相关推荐
- ubuntu 命令卡住_如何在Ubuntu系统中重置root密码
IT服务圈儿 有温度.有态度的IT自媒体平台 经授权转自公众号:良许Linux(ID:liangxuxiansheng) 很多人有个问题,就是喜欢把密码设置得很长很复杂,结果谁也没防住,却成功防住了自 ...
- vscode重置应用程序_如何在Windows 10上重置应用程序的数据
vscode重置应用程序 With Windows 10's Anniversary Update, you can now reset an app's data without actually ...
- mysql存储音频视频文件_如何在mysql 或者 其他的数据库中存放图片 音频 视频
root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...
- mysql按特定的顺序_如何在MySQL中按特定顺序排列数据?
使用ORDER BYIF()可以按特定顺序排列数据.以下是语法-select *from yourTableName ORDER BY IF(yourColumnName=yourValue1 OR ...
- mysql外键约束脚本_如何在MySQL中设置外键约束
(1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...
- 如何打开mysql的批处理宫娥能_如何在MySQL中进行批处理插入
大话西游666 大多数情况下,您不是在MySQL客户机中工作,您应该使用适当的API将插入批处理到一起.例如,在JDBC中:connection con.setAutoCommit(false); P ...
- mysql时间排序最后一个_如何在MySQL中按日期排序,但最后放置空日期?
按日期排序,并借助ORDER BY子句和IS NULL属性设置最后一个空日期.语法如下:SELECT *FROM yourTableName ORDER BY (yourDateColumnName ...
- mysql排序规则英文 数字_如何在MySQL中为日语设置模式排序规则
我有整理问题.我想设置整理以支持日语.例如,当table.firstname具有"あ"时,带有"ぁ"的查询应返回记录.提前致谢. 解决方法: 这就像" ...
- mysql怎么创建出生日期表_如何在MySQL中从出生日期开始生成数字序列
如果您可以使用外部编程语言,则可以使用(例如)this Ruby library为每行生成正确的PESEL编号. 另一方面,如果你想在MySQL中单独使用,你可以使用类似下面的函数(基于上面提到的Ru ...
最新文章
- 深入理解 C 指针阅读笔记 -- 第一章
- 反思转变:多努力以积累 多动脑以应变
- 打开和关闭Oracle Flashback
- 基于SLF4J MDC机制实现日志的链路追踪
- Lambda项目:迈向多核及超越
- LeetCode - Partition List
- spirng底层实现原理
- keil5.24 +注册机 下载
- RHEL 7 新特性
- vue NavigationDuplicated: Avoided redundant navigation to current location
- 软文和广告的区别在哪里?软文是广告吗?
- 股票API数据实时查询
- vscode插件及配置
- 求素数(质数)的方法(求100以内的素数及判断该数是否为素数)
- 【Spark深入学习 -10】基于spark构建企业级流处理系统
- 《沉默的云》.读书笔记(二)
- NBIOT模块基于电信IOT平台的南向对接流程
- 两岸通衢处,飞虹跨碧溪:华为OptiXstar光猫开启的千兆征途
- 图像处理中几个基本的处理方法c#代码实现
- 服务器的固态硬盘使用raid非ssd,在VMware ESXi中使用固态硬盘的注意事项
热门文章
- python埋点测试_埋点进化论:从埋点到无埋点
- SparkSQL之External Data读写parquet
- mysql开启远程访问
- 命犯编程!因为名字特殊,她被苹果封了 6 个月
- 39 岁网络技术员入住养老院,早 6 晚 9 的作息、和老人一起追剧晒太阳!
- 北京那些年轻人的秘密,都藏在这篇文章里
- ​你可能不太会用的10个Git命令
- zenmap nmap输出无显示_液晶显示器高压板坏的现象及维修思路 。
- 有向加权图 最大弱连通分支_买入加权组合式等价对敲
- 不混淆某个方法_英文和拼音会混淆吗?这些事越早知道越好