Windows系统下MySQL忘记root密码的2种解决办法

 更新时间:2024年11月11日 10:18:28   作者:老苏畅谈运维  
这篇文章主要介绍了Windows系统下MySQL忘记root密码的2种解决办法,一种是通过启动MySQL时跳过权限表验证,然后重置密码,另一种是创建一个包含新密码的文本文件,并通过MySQL的--init-file选项来应用该文件中的密码设置,需要的朋友可以参考下

方法1:

对于忘记MySQL root用户密码,常规的解决方法是启动的时候加 skip-grant-tables 选项,在绕过密码认证之后,进入MySQL数据库系统,以便进行修复或重置密码等操作。

在window下,怎么操作呢,接下来为您介绍。

1、window下关闭MySQL相关服务

打开cmd窗口,我这里MySQL服务名称设置为了MySQL8031,所以这里是 net stop mysql8031

2、重新启动MySQL

用下面的命令启动MySQL服务

C:\Users\Administrator>cd /d D:\MySQL8031\bin

D:\MySQL8031\bin>mysqld --console --skip-grant-tables --shared-memory

通过mysqld --console --skip-grant-tables --shared-memory 启动可以跳过密码验证

3、打开另外一个cmd窗口登录MySQL

C:\Users\Administrator>cd /d D:\MySQL8031\bin

D:\MySQL8031\bin>mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

4、设置新的root密码

update mysql.user set authentication_string='' where user='root';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

5、关闭上述终端,重新启动mysql

net start mysql8031

这样就可以用修改后的密码登录进去了

C:\Users\Administrator>cd /d D:\MySQL8031\bin\

D:\MySQL8031\bin>mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

方法2:

接下来,介绍另外一种更简单的方式。

新建一个newpass.txt文件(可以将它放在my.ini同目录)文件内容为:

ALTER user root@'localhost' identified by 'root';

关闭MySQL服务:

net stop mysql8031

用下面的命令启动MySQL服务:

D:\MySQL8031\bin\mysqld.exe --defaults-file=“D:\MySQL8031\my.ini” --init-file=“D:\MySQL8031\newpass.txt”

具体的my.ini文件和newpass.txt文件要改成实际的位置

命令执行后界面没有变化执行下一步。

按Ctrl+C终止运行,并重新启动Windows服务

总结 

到此这篇关于Windows系统下MySQL忘记root密码的2种解决办法的文章就介绍到这了,更多相关Windows MySQL忘记root密码解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql中取字符串中的数字的语句

    mysql中取字符串中的数字的语句

    在很多时间我们需要把字符串的数字给取出来,通常大家会用php,asp等这类来操作,本文章介绍了在sql中取字符中的数字办法,有需要的朋友可以参考一下
    2012-04-04
  • MySQL数据同步出现Slave_IO_Running: No问题的解决

    MySQL数据同步出现Slave_IO_Running: No问题的解决

    本人最近工作中遇到了Slave_IO_Running:NO报错的情况,通过查找相关资料终于解决了,下面这篇文章主要给大家介绍了关于MySQL数据同步出现Slave_IO_Running: No问题的解决方法,需要的朋友可以参考下
    2023-05-05
  • 一文详解MySQL单表存多大的数据量比较合适

    一文详解MySQL单表存多大的数据量比较合适

    MySQL单表的数据量上限主要受存储引擎和文件系统限制,理论值可达数千万至数十亿行,但实际建议控制在千万级以内以保证性能,这篇文章主要介绍了MySQL单表存多大的数据量比较合适的相关资料,需要的朋友可以参考下
    2026-02-02
  • Mysql表的操作方法详细介绍

    Mysql表的操作方法详细介绍

    这篇文章主要为大家详细介绍了MySQL数据库中表常用的一些操作方法,文中的示例代码讲解详细, 对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-09-09
  • Mysql查询最近一条记录的sql语句(优化篇)

    Mysql查询最近一条记录的sql语句(优化篇)

    这篇文章主要介绍了Mysql查询最近一条记录的sql语句,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • Mysql中Json相关的函数使用

    Mysql中Json相关的函数使用

    本文主要介绍了Mysql当中Json相关的函数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • MySQL并发更新数据时的处理方法

    MySQL并发更新数据时的处理方法

    在后端开发中我们不可避免的会遇见MySQL数据并发更新的情况,作为一名后端研发,如何解决这类问题也是必须要知道的,同时这也是面试中经常考察的知识点。
    2019-05-05
  • MySQL中使用JSON存储数据的实现示例

    MySQL中使用JSON存储数据的实现示例

    本文主要介绍了MySQL中使用JSON存储数据的实现示例,我们可以在MySQL中直接存储、查询和操作JSON数据,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Mysql InnoDB 的内存结构详情

    Mysql InnoDB 的内存结构详情

    这篇文章主要介绍了Mysql InnoDB的内存结构详情,InnoDB存储引擎的逻辑存储结构是什么呢,下面我们就一起进入文章了解更多详细内容吧,感兴趣的小伙伴可以参考一下
    2022-05-05
  • mysql8.0.19基础数据类型详解

    mysql8.0.19基础数据类型详解

    这篇文章主要介绍了mysql8.0.19基础数据类型的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2020-03-03

最新评论