【问题标题】:Forgotten MySQL root password忘记 MySQL 根密码
【发布时间】:2013-07-20 14:44:18
【问题描述】:

我有点不知道该怎么处理这个问题。我在这个站点和 mysql 站点之间找到了几个关于如何解决忘记的 root 密码的选项,但我想我现在已经破解了它。

  1. 我无法将 line 命令与 mysql.com 推荐的 here 所创建的重置文本文件一起使用

  2. 所以我卸载了 WAMP,这是我开始安装它时使用的。这也失败了,因为重新安装后我有一个新版本,我无法登录其中任何一个。显然这两个版本仍然存在,因为卸载 WAMP 并没有卸载 MySQL。

  3. 所以我尝试了确保一切都被删除的步骤here 并重新启动并重新安装了 WAMP。不行,不会用默认密码。

  4. 尝试使用最新版本运行命令行命令,得到this error

现在我无法做任何我需要完成的事情,我发现的所有其他帖子似乎都是我已经尝试过的这些事情的变体。

【问题讨论】:

  • 我的错 - Windows 7。MySQL 是 5.6.12。

标签: mysql windows wamp wampserver


【解决方案1】:

这一次,新版本的mysql让我不用密码登录。我能够从命令行修复它并将其重置为我想要的。之前尝试过多次,所以我不能说我明白现在发生了什么变化,但确实做到了。

【讨论】:

    【解决方案2】:

    尝试按照here 的说明重置您的密码

    1. 停止 mysql 服务(可能要求用户是 admin/root)
    2. ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';写入新文件并保存在C:\mysql-init.txt下(适用于windows)
    3. 打开 cmd.exe(使用管理员权限)并输入命令(见下文)

    命令

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

    它对我有用。

    【讨论】:

    • 您能否考虑添加更多详细信息,而不是直截了当地链接到某些异地资源?
    • 1.以管理员身份登录您的系统。 2. 如果 MySQL 服务器正在运行,请停止它。对于作为 Windows 服务运行的服务器,请转到服务管理器:从开始菜单中,选择控制面板,然后选择管理工具,然后选择服务。在列表中找到 MySQL 服务并停止它。如果您的服务器没有作为服务运行,您可能需要使用任务管理器强制它停止。
    • 3.创建一个包含以下语句的文本文件。将密码替换为您要使用的密码。 UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';同花顺特权;将 UPDATE 和 FLUSH 语句分别写在一行上。 UPDATE 语句重置所有 root 帐户的密码,而 FLUSH 语句告诉服务器将授权表重新加载到内存中,以便它注意到密码更改。 4.保存文件。对于此示例,文件将命名为 C:\mysql-init.txt。
    • 5. 打开控制台窗口以进入命令提示符:从“开始”菜单中,选择“运行”,然后输入 cmd 作为要运行的命令。 6.用特殊的--init-file选项启动MySQL服务器(注意选项值中的反斜杠加倍): C:\> C:\mysql\bin\mysqld-nt --init-file=C: \\mysql-init.txt 如果您将 MySQL 安装到 C:\mysql 以外的位置,请相应地调整命令。服务器在启动时执行由 --init-file 选项命名的文件的内容,更改每个 root 帐户密码。
    • 如果您希望服务器输出显示在控制台窗口而不是日志文件中,您还可以将 --console 选项添加到命令中。如果您使用 MySQL 安装向导安装 MySQL,您可能需要指定 --defaults-file 选项:C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" -- defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.0\\my.ini" --init-file=C:\\mysql-init.txt