您现在应该能够 root使用新密码连接到 MySQL 服务器。停止服务器并正常重新启动它。如果该 ALTER USER 语句重置密码失败,请尝试使用以下语句重复该过程以 user直接修改表: UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Ho...
Mysql如何重置Root密码
网站测试服务器上自己的一个Mysql数据库忘记管理员Root密码了,网上搜索了一大轮,均是无用解决方案,后在官网找到解决办法:
主要步骤:
1、创建个文本文件,将修改用户密码的SQL语句写在里面。新版本用:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
旧版本用:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
2、停止Mysql服务,可以在服务中手工停止,也可使用命令 net stop mysql。
3、使用命令行启动,带上你刚才保存的文件文件的路径:
mysqld --init-file="D:\\init.txt" --console
参考文章:Mysql官网
B.3.3.2 如何重置 Root 密码
如果您从未root为 MySQL 分配密码,则服务器根本不需要密码来连接为root. 然而,这是不安全的。有关分配密码的说明,请参阅 第 2.10.4 节,“保护初始 MySQL 帐户”。如果您知道root密码并想更改它,请参阅 第 13.7.1.1 节,“ALTER USER 语句”和 第 13.7.1.7 节,“SET PASSWORD 语句”。如果您root之前分配了密码但忘记了,您可以分配一个新密码。以下部分提供了适用于 Windows 和 Unix 和类 Unix 系统的说明,以及适用于任何系统的通用说明。
B.3.3.2.1 重置 Root 密码:Windows 系统
在 Windows 上,使用以下过程重置 MySQL'root'@'localhost' 帐户的密码。要更改 root具有不同主机名部分的帐户的密码,请修改说明以使用该主机名。您现在应该能够 root使用新密码连接到 MySQL 服务器。停止 MySQL 服务器并正常重新启动它。如果您将服务器作为服务运行,请从 Windows 服务窗口启动它。如果您手动启动服务器,请使用您通常使用的任何命令。如果该 ALTER USER 语句重置密码失败,请尝试使用以下语句重复该过程以 user直接修改表: UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
B.3.3.2.2 重置 Root 密码:Unix 和类 Unix 系统
在 Unix 上,使用以下过程重置 MySQL'root'@'localhost' 帐户的密码。要更改root具有不同主机名部分的帐户的密码,请修改说明以使用该主机名。这些说明假定您从通常用于运行它的 Unix 登录帐户启动 MySQL 服务器。如果您root不使用而 启动服务器 --user=mysql,则服务器可能会创建root- 数据目录中的文件,这些可能会导致未来服务器启动的权限相关问题。如果发生这种情况,您必须将文件的所有权更改为mysql或删除它们。您现在应该能够 root使用新密码连接到 MySQL 服务器。停止服务器并正常重新启动它。如果该 ALTER USER 语句重置密码失败,请尝试使用以下语句重复该过程以 user直接修改表: UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
B.3.3.2.3 重置 Root 密码:通用说明
前面的部分提供了专门针对 Windows 和 Unix 以及类 Unix 系统的密码重置说明。或者,在任何平台上,您都可以使用mysql客户端重置密码(但这种方法不太安全):您现在应该能够 root使用新密码连接到 MySQL 服务器。停止服务器并正常重新启动它(没有 --skip-grant-tables选项并且没有启用 skip_networking系统变量)。如果该 ALTER USER 语句重置密码失败,请尝试使用以下语句重复该过程以 user直接修改表: UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;2024-08-19