windows重置mysql root密码

在Windows操作系统中重置MySQL的root密码可以通过以下步骤完成。请注意,这些步骤可能因MySQL的版本以及你所使用的Windows版本略有不同。

步骤 1:停止MySQL服务

  1. 打开“运行”对话框,可以通过同时按下Windows键 + R
  2. 输入services.msc并按回车,这将打开服务窗口。
  3. 在服务列表中找到MySQL服务。这个服务可能命名为MySQL或者是以你安装的MySQL版本命名,例如MySQL57
  4. 右键点击MySQL服务,然后选择“停止”。

步骤 2:跳过授权表启动MySQL

  1. 找到MySQL的安装目录并进入到bin文件夹。
  2. 按住Shift键和鼠标右键在空白区域点击,选择“在此处打开命令窗口”或“在此处打开PowerShell 窗口”。

如果是命令提示符:

mysqld --skip-grant-tables

如果是PowerShell,你可能需要添加.\来执行:

.\mysqld.exe --skip-grant-tables

这将以跳过授权表的方式启动MySQL服务,这意味着暂时禁用了密码验证。

步骤 3:重置root密码

  1. 重复步骤2,再打开一个新的命令行窗口或PowerShell窗口。
  2. 进入到MySQL的bin目录。
  3. 启动MySQL客户端。
mysql -u root
  1. 一旦登录,你将需要执行SQL命令来重置密码。根据你的MySQL版本,这个命令可能略有不同。对于MySQL 5.7.6及以上版本,你可以使用:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

对于MySQL 5.7.5及以下版本,你应使用:

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

其中NewPassword应该替换为你想要设置的新密码。

  1. 执行完成后,退出MySQL客户端:
EXIT;

步骤 4:重启MySQL服务

  1. 回到服务窗口,重新启动之前停止的MySQL服务。
  2. 或在命令行输入以下命令来重启MySQL服务:
net stop MySQL
net start MySQL

现在,你应该可以使用新设置的密码登录MySQL了。

如果在执行以下重置命令报如下错误时

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

遇到这个问题是因为MySQL在--skip-grant-tables模式下,某些SQL命令(比如ALTER USER)无法执行。在这种模式下,MySQL的安全功能被部分禁用,包括对用户密码更改的操作限制。为解决这一问题,你可以直接通过修改mysql.user表来重置密码,然后重启服务。

请按照以下步骤操作:

重新设置密码

  1. 保持MySQL以--skip-grant-tables模式运行。
  2. 打开一个新的命令行窗口或PowerShell窗口,然后进入到MySQL的bin目录。
  3. 连接MySQL服务:
mysql -u root
  1. 选择mysql数据库:
USE mysql;
  1. 对于MySQL 5.7及以上版本,直接修改密码(请将NewPassword 替换为你想要的密码,注意此处使用单引号):
UPDATE user SET authentication_string=PASSWORD('NewPassword') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

如果是MySQL 8.0或更高版本,PASSWORD()函数已被废弃,应使用caching_sha2_password或mysql_native_password插件,如:

UPDATE user SET authentication_string=SHA2('NewPassword', 256) WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

或者使用 mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword';
FLUSH PRIVILEGES;
  1. 输入EXIT;退出MySQL客户端。

重启MySQL服务

  1. 回到之前的命令行(仍在bin目录下),关闭当前正在--skip-grant-tables模式下运行的MySQL服务:
mysqladmin -u root shutdown
  1. 重新打开“服务”窗口,启动MySQL服务。

现在,你应该能够使用新的密码登录到MySQL的root账户了。如有需要,可进行进一步测试确认密码已经被成功更新。

相关推荐

  1. windowsmysql root密码

    2024-05-02 16:10:02       39 阅读
  2. alist密码

    2024-05-02 16:10:02       75 阅读
  3. JIRA 管理员密码

    2024-05-02 16:10:02       61 阅读
  4. gitlab root密码

    2024-05-02 16:10:02       41 阅读
  5. sofether管理员密码

    2024-05-02 16:10:02       38 阅读
  6. Grafana admin 密码

    2024-05-02 16:10:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 16:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 16:10:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 16:10:02       82 阅读
  4. Python语言-面向对象

    2024-05-02 16:10:02       91 阅读

热门阅读

  1. springBoot核心

    2024-05-02 16:10:02       24 阅读
  2. 使用 Docker-Compose 部署 Kafka

    2024-05-02 16:10:02       33 阅读
  3. 最大公因数和最小公倍数函数(补续)

    2024-05-02 16:10:02       34 阅读
  4. Nuxt3路由跳转

    2024-05-02 16:10:02       32 阅读
  5. docker 搭建 zipkin

    2024-05-02 16:10:02       24 阅读
  6. 复现论文5:UMI

    2024-05-02 16:10:02       27 阅读
  7. 2024-05-02 问AI: 介绍一下IMDB数据集

    2024-05-02 16:10:02       31 阅读
  8. 2024-5-2——雇佣 K 名工人的最低成本

    2024-05-02 16:10:02       26 阅读
  9. Web Workers 介绍

    2024-05-02 16:10:02       28 阅读
  10. 贪心算法基础题(第三十四天)

    2024-05-02 16:10:02       33 阅读
  11. 8、Python:字符串类型

    2024-05-02 16:10:02       31 阅读