[数据库] MySql的root密码忘了怎么办?
2022/5/27 2:20:04
本文主要是介绍[数据库] MySql的root密码忘了怎么办?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
发现问题:
使用navicat时,连接电脑上的sql服务时,发现自己已经忘记了root密码,尝试输入一个后准备连接,就出现了上图的报错,因为并不想重装mysql,因此决定修改root密码。
解决思路
mysql作为一个DBMS,其用户的ID和密码也同样以表的形式存放在DB中,因此只要我们以跨越权限的方式访问mysql,对其存放用户ID和密码的表进行修改就可以在不登录root账户的情况下,修改密码。
步骤
环境: Windows10,
mysql5.7.19
首先以管理员身份运行cmd
如果你没有将cmd固定在开始菜单,你可以去C:\windows\system32该目录下找到 cmd.exe 右键选择“以管理员身份运行”
关闭已经启动的mysql(如果你的mysql没有启动,就可以忽略这一步)
如果你不知道你的mysql是否启动了,请尝试在cmd中输入
net stop mysql //关闭mysql的命令,如果已关闭就不会有反应,如果mysql在启动状态就会被关闭
跳过权限表启动mysql
mysqld --skip--grant--tables
当输入这一步后,cmd窗口会进去如下图所示状态,将无法再输入新的命令行
以管理员身份打开一个新的cmd窗口,和步骤1类似,不再赘述
在新的cmd窗口中 ,输入mysql
mysql
就可以启动mysql命令行工具,如下图
输入 mysql databases;
注意分号和结尾的s
输入如下命令
use mysql;
将会显示如下页面
输入如下命令
show tables;
其中mysql保存我们密码的表就是上图中显示的 user中
输入命令
desc user;
仔细看上图中的authentication_string 就是存放我们root密码的地方
这一步将会使用update语句来修改密码
update user set authentication_string=password('67890') //请将67890替换为你想要设置的密码就好了 where user='root';
将会出现如下字段
密码已经修改成功
刷新权限
flush privileges;
出现如下信息表示成功
验证是否修改成功
mysql -u root -p //输入后在新出现的行中输入密码后,成功进入mysql就表明成功修改了密码
如果以上遇到了问题或者还是看不懂的话,请直接查看参考资料中的两个视频,会更加清晰。
参考资料:
- https://www.bilibili.com/video/BV1di4y1k7LW?spm_id_from=333.337.search-card.all.click
- https://www.bilibili.com/video/BV1AT4y1D7q1?spm_id_from=333.337.search-card.all.click
感谢视频中这个老师的讲解,讲的很清晰。
这篇关于[数据库] MySql的root密码忘了怎么办?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南