使用错误的mysql配置重置root密码

Posted

技术标签:

【中文标题】使用错误的mysql配置重置root密码【英文标题】:reset root password with wrong mysql config 【发布时间】:2011-05-06 16:24:48 【问题描述】:

我已经安装了xampp,我做了安全设置,但是过了一段时间我忘记了root密码。我有谷歌它,如何重置,问题似乎他无法创建低-低-测试文件,因为他试图访问我的 Windows PC 上的 Unix 路径:),大声笑。 xamp 配置。

resetroot.bat 给了我这个输出:

101108 15:37:23 [警告] 无法创建测试文件 \usr\local\mysql\data\MYCOMPUTERNAME.lower-test 101108 15:37:23 [警告] 无法创建测试文件 \usr\local\mysql\data\MYCOMPUTERNAME.lower-test mysql\bin\mysqld.exe: 无法将目录更改为 '\usr\local\\mysql\data\' (Errcode: 2) 101108 15:37:23 [错误] 中止 101108 15:37:23 【注意】mysql\bin\mysqld.exe:关机完成 Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht! 用户“root”和“pma”的密码没有被删除! 按任意键继续 。 . .

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

推送 %~dp0 光盘.. 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 转到肯弗勒 :费勒 TYPE resetroot.err 回声。 ECHO Passwoerter fuer Benutzer "root" und "pma" wurden nicht geloescht! 用户“root”和“pma”的 ECHO 密码没有被删除! 转到韦特 :KEINFEHLER 回声。 ECHO Passwoerter fuer Benutzer "root" und "pma" wurden geloescht。 删除了用户“root”和“pma”的 ECHO 密码。 回声。 ECHO Bitte den MySQL 服务器新启动。 ECHO 请重启 MySQL 服务器。 转到韦特 :魏特 DEL resetroot.err >nul 2>&1 DEL resetroot.sql >nul 2>&1 回声。 流行性感冒 暂停

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

# 将以下路径指向不同的专用磁盘 tmpdir = "C:/xampp/tmp/"

不知道那个 Unix 路径是从哪里来的,从哪里改变,什么参数。

在出现此错误之前,有没有其他方法可以重置 mysql root 密码?

【问题讨论】:

@AndreKR 已经回答了这个问题。这需要设置为“已回答”。 @joshmax:该用户发布此问题后就再也没有回来过。除了提问者之外,没有人可以接受答案,所以我们必须保持原样。 @BoltClock 明白了。太糟糕了......这是一个有用的答案。 【参考方案1】:

我遇到了同样的问题,只需使用 HeidiSQL(免费的 mySQL 编辑器)使用以下 SQL 查询更新密码。

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

然后,从xampp 控制面板停止mysql 并重新启动它。

【讨论】:

【参考方案2】:

Here is a great link

总之转到

http://localhost/security/

您可以在那里重置密码。它是网络界面,而不是您必须在某处寻找文件。

【讨论】:

在一些较新的 XAMPP 安装中,对于说英语的用户,该 URL 可能是 localhost/security/lang.php?en 两个链接都是#404 :D。任何建议!【参考方案3】:

我建议忘记bat文件并手动执行:

转到您的 xampp\mysql\bin\ 文件夹 编辑my.ini并在[mysqld]下方插入skip-grant-tables 重启 MySQL 通过在 mysql 数据库中的 phpMyAdmin 中运行 UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root' 为您的 root 用户设置新密码(或者如果无法从远程主机访问 MySQL,则保持这样的状态)

【讨论】:

+1!精彩的。我已经很久没有访问 phpMyAdmin/MySQL 了!谢谢!我希望@matheszabi 尽快接受这个答案。 skip-grant-tables 使任何密码都对用户有效,因此您应该在更改密码后将其注释掉。否则一个很好的答案。 谢谢!这完全奏效了——我几乎卸载了 XAMPP 并重新开始。 非常感谢。您的回答结束了我 6 小时的奋斗。

以上是关于使用错误的mysql配置重置root密码的主要内容,如果未能解决你的问题,请参考以下文章

重置密码解决MySQL for Linux错误 ERROR 1045 (28000):

MySQL 重置Mysql root用户账号密码

mysql的root密码重置

重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost'

MySQL的root密码重置

mysql 忘记root密码 重置root密码