在 Windows 上如何重置 MySQL 8.0 Root的 密码

如果我们之前设置了 root 密码但忘记了它是什么,我们可以设置一个新密码。
以下步骤适用于 Windows 系统。
我们必须以具有管理权限的用户身份登录到 Windows,然后执行以下步骤:

  1. 如果 MySQL 服务器正在运行,请停止它。
    对于作为 Windows 服务运行的服务器,请转到服务管理器:
Start Menu -> Control Panel -> Administrative Tools -> Services

2.然后在列表中找到MySQL服务,并停止它。
如果服务器没有作为服务运行,我们可能需要使用任务管理器来强制它停止。

  1. 打开控制台窗口以进入命令提示符:
Start Menu -> Run -> cmd

假设我们将 MySQL 安装到“C:\Program Files\MySQL\MySQL Server 8.0”。
如果我们将 MySQL 安装到其他位置,请相应地调整以下命令。
在命令提示符下,执行以下命令:

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --skip-grant-tables --skip-networking --enable-named-pipe

-skip-grant-tables 参数将绕过读取 MySQL 服务器的权限表;这将允许任何用户在不使用密码的情况下进行连接,并具有对所有表的完全访问权限。
添加的 -skip-networking 参数通过阻止服务器接受 TCP/IP 连接来降低安全风险;而是使用 -enabled-named-pipe 启用命名管道。
命名管道仅在基于 NT 的系统上可用,因此 TCP/IP 必须用于其他 Windows 操作系统。
如果我们担心安全性,我们应该在此期间使用防火墙来阻止对服务器的外部访问。
保持第一个控制台窗口打开,打开第二个控制台窗口并执行以下命令(在一行中输入每个命令):

C:\> C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin -u root flush-privileges password "newpwd"
C:\> C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin -u root -p shutdown

将“newpwd”替换为我们要使用的实际根密码。
第二个命令将提示我们输入新密码进行访问。
输入我们在第一个命令中分配的密码。

停止 MySQL 服务器后,再次以正常模式重新启动它。
如果将服务器作为服务运行,则可以从 Windows 服务窗口启动它。
如果我们手动启动服务器,请使用我们通常使用的任何命令。
我们现在应该能够使用新的 root 密码进行连接。

在 Windows 上重置 root 密码的一种方法是按照下面链接中手册中提到的步骤进行操作。

日期:2020-09-17 00:11:43 来源:oir作者:oir