windows10忘记MySQL8.0.18中root账号密码
一、查询·MySQL版本号
首先查询MySQL版本号,如果之前安装MySQL时已经设置了环境变量,则直接打开cmd输入
mysql --help
可以看到我的版本是8.0.18
二、具体步骤
1、停止MySQL服务
有两种方式:
第一种,在打开的运行窗口中输入命令services.msc,即可打开服务,找到MySQL,我这里是服务名是MySQL80
选中右键停止即可。
第二种,以管理员身份运行cmd,输入
net stop MySQL80
2、设置跳过验证,cmd中输入命令:“mysqld --shared-memory --skip-grant-tables”,(注意:一定要有–shared-memory,否则无法正常设置–skip-grant-tables并启动mysql服务),正常情况下,输完这条命令,该命令行窗口应该卡住不动。
mysqld --console --skip-grant-tables --shared-memory
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.
这个错误是因为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文件,用记事本打开它
进入mysql后就可以进行二中3和4进行密码的修改。