如何在 MySQL 中重置 Root 密码

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

忘记 MySQL root 密码可能会让人感到沮丧,尤其是在您需要立即访问以管理数据库时。幸运的是,如果您拥有服务器的管理访问权限,重置 root 密码是一个简单直接的过程。本指南将引导您完成 LinuxWindows systems 的步骤。

前提条件

在继续之前,请确保您具备以下条件:

  • 系统的管理访问权限(root 或 sudo 权限)

  • Shell 或命令行访问权限(SSH 或 terminal)

方法 1:在 Linux 上重置 MySQL Root 密码

步骤 1:停止 MySQL 服务

sudo systemctl stop mysql

步骤 2:以安全模式启动 MySQL

在不进行密码验证的情况下启动 MySQL:

sudo mysqld_safe --skip-grant-tables &

这将允许您在没有密码的情况下访问 MySQL。请注意,此模式不安全,应仅临时使用。

步骤 3:访问 MySQL

mysql -u root

步骤 4:更改 Root 密码

在 MySQL shell 中运行以下命令:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';

如果您使用的是 MySQL 5.7 或更早版本,语法可能会有所不同:

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

步骤 5:正常重启 MySQL

sudo systemctl stop mysql
sudo systemctl start mysql

现在您应该能够使用新密码登录:

mysql -u root -p

方法 2:在 Windows 上重置 Root 密码

步骤 1:停止 MySQL 服务

打开 Services(services.msc)并停止 MySQL 服务。

步骤 2:创建密码重置脚本

创建一个文本文件

C:mysql-init.txt

,内容如下:

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

步骤 3:使用脚本启动 MySQL

在 Command Prompt 中运行以下命令(相应调整路径):

mysqld --init-file="C:\mysql-init.txt"

启动并应用更改后,停止 MySQL,并通过 Services manager 正常重启它。

重置后删除 mysql-init.txt 文件,以避免安全风险。

安全密码管理提示

  • 始终为 MySQL root 账户使用且唯一的密码。

  • 考虑禁用 root 用户的远程访问以增强安全性。

  • 使用密码管理器安全地存储凭据。

结论

重置 MySQL root 密码是一个可管理的过程,但应谨慎进行,以避免引入安全风险。如果您发现自己经常需要 root 访问权限,请考虑创建一个单独的管理员级 MySQL 用户,以降低风险并保持更好的安全卫生。