Win10 系统MySQL8.0 忘记管理员密码,重新设置新的密码

本文介绍了在Win10系统中,当MySQL8.0管理员密码遗忘时,如何通过CMD命令行进行权限跳过,重新设置新密码的详细步骤。包括查看并结束MySQL进程,切换到bin目录,执行特定命令,处理可能出现的错误,以及重启MySQL服务以应用新密码。

首先使用管理员权限登录CMD

右键系统菜单–>选择Windows PowerShell(管理员)(A)启动管理员cmd

查看现有进程是否含有mysql

使用tasklist能列出所有的进程,和相应的信息。如果包含Mysql的开头的进程,一律杀死即可
tskill能查杀进程,语法很简单:tskill 程序名!!

切换命令行路径到Mysql的bin目录下

我是一步一步退出在重新进入的。

PS C:\Windows\system32> cd ..
PS C:\Windows> cd ..
PS C:\> ls
PS C:\> cd '.\Program Files\'
PS C:\Program Files> cd .\MySQL\
PS C:\Program Files\MySQL> cd '.\MySQL Server 8.0\'
PS C:\Program Files\MySQL\MySQL Server 8.0> cd bin

执行跳过权限认证的命令

8版本与前面的版本不一样,语法上是有区别的,注意区分

 mysqld --console --skip-grant-tables --shared-memory

错误及处理

我在运行的时候,出现了下面的错误,错误原因是 console没有安装

2021-02-05T02:45:36.329602Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.22) starting as process 17040
2021-02-05T02:45:36.332291Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2021-02-05T02:45:36.332400Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2021-02-05T02:45:36.332547Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to 'C:\Program Files\MySQL\MySQL Server 8.0\data\' (OS errno: 2 - No such file or directory)
2021-02-05T02:45:36.346381Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-02-05T02:45:36.346516Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.22)  MySQL Community Server - GPL.

下面就对这个错误进行处理哦!

  • 首先执行 mysqld --initialize --user=mysql --console
  • 执行成功后执行mysqld -install 会提示Service successfully installed.
  • 重新执行 mysqld --console --skip-grant-tables --shared-memory 即可。
    这时候当前这个命令行就不可以使用了。

使用管理员权限在重新开一个命令行

进入到Mysql的安装目录执行

PS C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql

这时候,就能成功的登录到mysql里面,我们来测试一下,是不是登录成功了


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |

可以发现我们已经登录成功。
然后执行下面的语句

mysql> use mysql;
Database changed
mysql> show tables;

老的版本是执行select user,host,password from user; 但是会报错password是一个无效的字段。在mysql8.0中password已经被替代了
因此我们要执行select user,host,authentication_string from user;
最后执行:

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

关闭两个CMD 重启mysql

我们关闭刚刚打开的两个管理员登录的cmd,然后在重新使用管理员权限打开一个cmd,输入

PS C:\Windows\system32> net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

启动成功之后,输入

PS C:\Windows\system32> mysql -u root

这时候,我们就进入到了mysql的界面了,在输入

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.01 sec)

这里的root 是我设置的测试用户名与密码,要根据自己的自行调整。

使用普通用户权限打开cmd

C:\Users\ouc>mysql -uroot -p

这样我们就可以使用新的密码成功的登录数据库了!

这里还是要提醒大家,尽量建立一个密码本,可以将密码都记录下来,这样就不用整天这么麻烦的因为这种小事情,捣鼓啦

### Windows 10MySQL 8.0 Root 密码重置教程 在 Windows 10 系统中,如果忘记MySQL 8.0 的 `root` 用户密码,可以按照以下方法进行重置。此过程涉及通过跳过权限检查的方式进入数据库并更新密码。 #### 停止 MySQL 服务 首先需要确保当前的 MySQL 服务已经停止运行。可以在命令行中输入以下命令来停止服务: ```cmd net stop mysql ``` #### 跳过权限检查启动 MySQL 打开一个新的命令提示符窗口(以管理员身份运行)。切换到 MySQL 安装目录下的 `bin` 文件夹。例如,假设 MySQL 安装路径为 `D:\Tools\mysql-8.0.20-winx64\bin`,则需执行如下命令: ```cmd cd D:\Tools\mysql-8.0.20-winx64\bin ``` 接着,在该窗口中输入以下命令以跳过权限检查方式启动 MySQL: ```cmd mysqld --skip-grant-tables --shared-memory ``` 这条命令会让 MySQL 在不验证用户权限的情况下启动[^3]。 #### 登录 MySQL 并修改密码 保持上述命令行窗口处于开启状态,再打开另一个新的命令提示符窗口(同样以管理员身份运行),再次切换至 MySQL 的 `bin` 目录,并尝试无密码登录 MySQL 数据库: ```cmd mysql -u root ``` 一旦成功连接到 MySQL 控制台,即可开始更改 `root` 用户的密码。以下是具体操作: 1. **清空现有认证字符串** 输入以下 SQL 查询清除现有的认证信息: ```sql UPDATE mysql.user SET authentication_string=NULL WHERE User='root'; ``` 2. **刷新权限表** 更新完成后立即刷新权限表使改动生效: ```sql FLUSH PRIVILEGES; ``` 3. **设定新密码** 使用下列语句定义新的 `root` 密码(将 `'your_new_password'` 替换为你想要的新密码): ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_new_password'; ``` 4. **再次刷新权限表** 设置完毕后再次刷新权限表确认变更已应用: ```sql FLUSH PRIVILEGES; ``` 完成这些步骤后退出 MySQL 控制台: ```sql exit; ``` #### 正常模式重启 MySQL 服务 关闭所有先前用于跳过权限检查的命令行窗口。返回初始命令提示符界面重新正常启动 MySQL 服务: ```cmd net start mysql ``` 此时应该能够利用刚刚设置好的新密码访问 MySQL 数据库了。 --- ### 注意事项 - 整个过程中务必小心处理敏感数据以及配置文件。 - 若遇到任何错误消息,请仔细阅读其描述以便定位问题所在。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值