windows10忘记MySQL8.0.18中root账号密码

一、查询·MySQL版本号

首先查询MySQL版本号,如果之前安装MySQL时已经设置了环境变量,则直接打开cmd输入

mysql --help

windows10忘记MySQL8.0.18中root账号密码

可以看到我的版本是8.0.18

二、具体步骤

1、停止MySQL服务

有两种方式:

第一种,在打开的运行窗口中输入命令services.msc,即可打开服务,找到MySQL,我这里是服务名是MySQL80

windows10忘记MySQL8.0.18中root账号密码

选中右键停止即可。

第二种,以管理员身份运行cmd,输入

net stop MySQL80

windows10忘记MySQL8.0.18中root账号密码

2、设置跳过验证,cmd中输入命令:“mysqld --shared-memory --skip-grant-tables”,(注意:一定要有–shared-memory,否则无法正常设置–skip-grant-tables并启动mysql服务),正常情况下,输完这条命令,该命令行窗口应该卡住不动。

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

 windows10忘记MySQL8.0.18中root账号密码

3、另外打开一个cmd窗口,输入"mysql"进入

4、依次输入以下命令

flush privileges;

ALTER USER 'root'@'localhost' IDENTIFIED BY '111111';

三、遇到问题

在进行二中2步骤时,遇到了以下错误

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --shared-memory --skip-grant-tables
2020-08-14T02:32:35.354954Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.18) starting as process 4716
2020-08-14T02:32:35.358545Z 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
2020-08-14T02:32:35.358672Z 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
2020-08-14T02:32:35.358850Z 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)
2020-08-14T02:32:35.376502Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-08-14T02:32:35.376659Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18)  MySQL Community Server - GPL.

windows10忘记MySQL8.0.18中root账号密码

这个错误是因为MySQL安装目录下没有data文件夹,所以我参考了一篇博客https://www.cnblogs.com/kangmomo/p/11892303.html

data文件夹因为在安装的时候没有进行以下步骤

1、以管理员身份进入解压的MySQL文件的bin目录,依次输入以下命令

mysqld --initialize

mysqld install

net start mysql

关闭cmd,此时data文件自动生成了

2、运行cmd

输入命令mysql -uroot -p

它会叫你输密码,密码在刚才创建的data文件夹下一个后缀为(.err)的err文件,用记事本打开它

windows10忘记MySQL8.0.18中root账号密码

进入mysql后就可以进行二中3和4进行密码的修改。