我遵循了官方的reset root password教程,但是powershell(或cmd)由于未知原因而不断抛出错误。
[输入mysqld --init-file=C:\\reset.txt
时出现此错误:(我检查了reset.txt
的路径。它位于C:\
中。]
mysqld:术语'mysqld'不被识别为cmdlet的名称,功能,脚本文件或可操作程序。检查拼写名称,或者如果包含路径,请验证路径是否正确,并再试一次。在第1行:char:1+ mysqld --init-file = C:\ reset.txt+ ~~~~~~+ CategoryInfo:ObjectNotFound:(mysqld:String)[],CommandNotFoundException+ FullyQualifiedErrorId:CommandNotFoundException
接下来,当我仅输入mysqld
进行测试时,终端会引发此错误:
[[警告] [MY-010091] [服务器]无法创建测试文件C:\ Program Files \ MySQL \ MySQL Server 8.0 \ data \ mysqld_tmp_file_case_insensitive_test.lower-test
[[错误] [MY-013276] [服务器]无法将datadir设置为'C:\ Program Files \ MySQL \ MySQL Server 8.0 \ data \'(操作系统错误:2-没有此类文件或目录)
起初我以为是路径问题。因此,我将mysqld
路径添加到Environment Variable
中,然后再次键入mysqld
。但是终端仍然抛出第二个错误。
我正在使用Windows,甚至格式化了PC进行测试,但仍然给我这些错误。
有人可以给我解决方案吗?
我想通了。不太可能是说明手册,您不必在Services
窗口中停止MySQL服务。
您要做的就是:
CMD
并使用use mysql;
正常CMD
用于登录MySQL的mysql -u root -p
类型。
输入您的当前密码
Type use mysql;
在MySQL CLT
中
输入您的当前密码
Type use mysql;
Type ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[desired_password]';
Type FLUSH PRIVILEGES;
Type quit;用于注销。
您可以从此处查看更多信息:Resetting MySQL Password (Stack Exchange)