2010-11-08 41 views
10

我已经安装了xampp,我做了安全设置,但一段时间后,我忘记了root密码。我有谷歌它,如何重置,问题似乎他不能创建更低的测试文件,因为他试图访问我的Windows PC上的Unix路径:),哈哈。 xamp配置。重置根密码与错误的MySQL配置

的resetroot.bat给了我这样的输出:

 
101108 15:37:23 [Warning] Can't create test file \usr\local\mysql\data\MYCOMPUTERNAME.lower-test 
101108 15:37:23 [Warning] Can't create test file \usr\local\mysql\data\MYCOMPUTERNAME.lower-test 
mysql\bin\mysqld.exe: Can't change dir to '\usr\local\\mysql\data\' (Errcode: 2) 
101108 15:37:23 [ERROR] Aborting 

101108 15:37:23 [Note] mysql\bin\mysqld.exe: Shutdown complete 


Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht! 
Passwords for user "root" and "pma" were not deleted! 

Press any key to continue . . . 

.bat文件具有以下重要组成部分:

 
PUSHD %~dp0 
CD .. 
mysql\bin\mysqld.exe --no-defaults --bind-address=127.0.0.1 --bootstrap --console --skip-grant-tables --skip-innodb --standalone resetroot.err 2>&1 
IF ERRORLEVEL 1 GOTO FEHLER 
GOTO KEINFEHLER 

:FEHLER 
TYPE resetroot.err 
ECHO. 
ECHO Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht! 
ECHO Passwords for user "root" and "pma" were not deleted! 
GOTO WEITER 

:KEINFEHLER 
ECHO. 
ECHO Passwoerter fuer Benutzer "root" und "pma" wurden geloescht. 
ECHO Passwords for user "root" and "pma" were deleted. 
ECHO. 
ECHO Bitte den MySQL Server neu starten. 
ECHO Please restart the MySQL server. 
GOTO WEITER 

:WEITER 
DEL resetroot.err >nul 2>&1 
DEL resetroot.sql >nul 2>&1 
ECHO. 

POPD 
PAUSE 

在mysql的bin目录是一个my.ini文件

 
# Point the following paths to different dedicated disks 
tmpdir   = "C:/xampp/tmp/" 

不知道从哪里来的Unix路径以及在哪里改变什么参数。

是否有任何其他方式来重置mysql root密码,直到我有这个错误?

+0

@AndreKR回答了这个问题。这需要设置为“已回答”。 – joshmax 2011-12-06 17:35:19

+0

@joshmax:此用户自发布此问题以来从未回来。除问题提问者外,没有人可以接受答案,所以我们必须保留这个问题。 – BoltClock 2011-12-06 18:00:00

+0

@BoltClock陷阱。太糟糕了......这是一个有用的答案。 – joshmax 2011-12-06 18:59:50

回答

72

我建议你忘记bat文件,并做手工:

  • 转到您的XAMPP \ mysql的\ BIN \文件夹
  • 编辑的my.ini并插入skip-grant-tables下面[mysqld]
  • 重新启动MySQL
  • 通过在phpMyAdmin中运行UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'mysql数据库中为您的root用户设置新密码(或者如果MyS QL不能从远程主机访问)
+1

太棒了!为我工作 – Marin 2011-03-02 15:51:58

+1

谢谢。它运作良好。 :) – 2011-05-06 10:18:39

+1

+1!精彩。我一直无法访问phpMyAdmin/MySQL太久了!谢谢!我希望@matheszabi很快接受这个答案。 – joshmax 2011-12-06 17:33:17

5

Here is a great link

总之转到

http://localhost/security/

和那里你可以重置密码。这是网页界面,而不是你必须在某处查找文件。

+0

在一些较新的安装XAMPP的URL可能是这个英文口语用户http://localhost/security/lang.php?en – 2015-04-01 13:26:20

+0

这两个链接是#404:D。任何建议! – CoDe 2016-08-01 09:43:13

-1

Heyho

有在XAMPP你的mysql-DIR一个resetroot.bat。对我来说这只蝙蝠不起作用,所以我修改了一下。 (也跳过赠款表方法不适合我,而使用XAMPP工作)

格尔茨 scotty86

1

我面临同样的问题&简单地更新与下面的SQL查询随着HeidiSQL(免费的MySQL编辑器)的密码。

UPDATE mysql.user SET Password=PASSWORD('your_password') WHERE User='root' 

然后,从xampp控制面板停止mysql &再次启动它。