2017-07-15 112 views
0

我遇到了一个严重的麻烦情况,试图重置我的MySQL的root密码。我正在关注dev.mysql.com指令:mysql不会更改我的root密码,

第1步。以管理员身份登录到您的系统。

第2步。停止MySQL服务器,如果它正在运行。对于作为Windows服务运行的服务器,请转到服务管理器:从开始菜单中,选择控制面板,然后选择管理工具,然后选择服务。在列表中找到MySQL服务并停止它。 如果您的服务器未作为服务运行,则可能需要使用任务管理器强制其停止。

第3步。在一行中创建一个包含密码赋值语句的文本文件。将密码替换为您要使用的密码。

的MySQL 5.7.6及更高版本:

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

的MySQL 5.7.5及更早版本:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); 

第4步:保存文件。这个例子假定你命名文件C:\ mysql-init.txt。

第5步。打开控制台窗口进入命令提示符:从开始菜单中选择运行,然后输入cmd作为要运行的命令。

第6步:开始用特殊--init-file选项MySQL服务器(注意在选项值反斜杠加倍):

C:\> cd "C:\Program Files\MySQL\MySQL Server 5.7\bin" 
C:\> mysqld --init-file=C:\\mysql-init.txt*** 

这就是我卡住了:一步6.我所做的一切。因此,和CMD给我回:

mysqld: CAN'T CHANGE DIR TO 'C:Program Files\MySQL\MySQL SERVER 5.7\data\' 
<Errcode: 2 - No such file or directory> 

    0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. 
Please use --explicit_defaults_for_timestamp server option<see documentation for more details> 

    0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled 

...

PS:我已经保存了的mysqld-I本地磁盘(C :)中的nit.txt

请大家,我不知道如何解决这个烂摊子。我需要重置root密码并连接MySQL。

感谢

+0

这种方式比较容易,只是忽略WAMPServer特定文件夹https://stackoverflow.com/questions/29070501/regaining-access-to-lost-mysql-password- for-phpmyadmin-on-wamp/29073563#29073563 – RiggsFolly

+1

您应该使用标记来提高可读性,并使其更易于查看重要部分。用粗体书写所有内容都不利于提高可靠性。 –

+0

您是使用wamp/xampp还是mysql本身? –

回答

0

这个问题是半年左右的时候,但我只是碰到了同样的问题今天上午。在同一时间做了几个更改,所以我不确定哪个是实际的修复,但是,关于:

mysqld:无法更改到'C:Program Files \ MySQL \ MySQL SERVER 5.7 \ data \'

我在“MySQL SERVER 5.7”文件夹中创建了一个空的'data'目录。 此外,我使用'管理员:命令提示符'来执行该命令。最后,我包含了“默认文件”specified in the MySQL docs,并且输入的顺序弄乱了。我现在关闭了窗户,但我不相信我实际上使用了“双反斜线”。

我的工作命令是:

mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" 
      --init-file="C:\Users\Me\mysql-init.txt" 
      --console