MySQL密码重置(Windows本地)

本文详细指导如何在Windows上通过命令行重置MySQL root用户的密码,包括停启服务、临时修改权限和设置新密码的过程,适合忘记密码的开发者解决登录问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

长时间不用MySQL就会忘记密码,进而导致无法登录MySQL。本文介绍一种重置密码的方法,希望可以解决小伙伴们忘记MySQL密码的苦恼。

一、密码重置

  1. WIN+R打开运行窗口,输入cmd进入命令行
  2. 将目录切换到MySQL安装目录下的bin文件夹

在这里插入图片描述
3. 输入 net stop mysql 关闭MySQL服务
4. mysqld --console --skip-grant-tables --shared-memory

在这里插入图片描述

  1. 不要关闭当前窗口,同时再重复步骤1、2打开一个新的命令窗口
  2. 在新的窗口中输入mysql -u root -p,提示输入密码时,按Enter键
  3. 接着输入 use mysql
  4. update user set authentication_string='' where user='root';
  5. quit

在这里插入图片描述

  1. 关闭窗口1、2,再打开一个新的命令窗口
  2. 打开MySQL服务,net start mysql
  3. 登陆数据库,mysql -u root -p,按Enter键,不输入密码,按Enter键
  4. ALTER USER 'root'@'localhost' IDENTIFIED BY '2021';
  5. 密码修改完成,新的密码为2021

二、登录数据库

  1. 启动MySQL服务,net start mysql
  2. 使用修改后的密码登录数据库,先输入mysql -u root -p,再按照提示输入密码2021
  3. 输入quit退出数据库

在这里插入图片描述

参考文献

  • https://blog.csdn.net/qq382495414/article/details/107253577/
### 如何在 Windows 上重置 MySQL 根用户密码 #### 跳过权限验证模式启动 MySQL 并重置密码 为了在忘记根用户密码的情况下重新设置 MySQL 的密码,可以按照以下方法操作: 1. **停止当前运行的 MySQL 服务** 需要先通过命令行工具关闭正在运行的 MySQL 服务。打开命令提示符并输入以下命令来停止服务: ```cmd net stop mysql ``` 2. **以跳过权限验证的方式启动 MySQL** 使用 `--skip-grant-tables` 参数启动 MySQL 服务器,这将允许管理员无需身份验证即可访问数据库。具体命令如下: ```cmd mysqld --console --skip-grant-tables --shared-memory ``` 此处需要注意的是,在某些版本中可能还需要指定其他参数或者路径配置文件的位置[^1]。 3. **登录到 MySQL 数据库** 打开一个新的命令行窗口,并尝试连接至本地实例而不需要提供任何凭证信息: ```cmd mysql -u root ``` 这样应该能够成功进入 MySQL 命令界面而不被询问密码[^2]。 4. **更新 root 用户的密码** 成功登陆之后,执行 SQL 查询语句更改 root 用户的新密码。对于 MySQL 版本不同,修改密码的方法略有差异。如果是 MySQL 8.0 或更高版本,则应采用如下语法: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` 如果是较低版本则可能是这样: ```sql SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码'); FLUSH PRIVILEGES; ``` 5. **重启正常的服务状态** 完成上述步骤后退出 MySQL 控制台(`exit;`),再回到最初的那个 CMD 窗口按 Ctrl+C 中断异常启动过程。最后恢复常规方式开启服务: ```cmd net start mysql ``` 此时就可以使用刚刚设定好的全新密码去管理您的数据库了。 ```python import subprocess def reset_mysql_password(): try: # Stop the service. subprocess.run(['net', 'stop', 'mysql'], check=True) # Start with skip grant tables option in another terminal session manually. # Connect without password and change it via sql commands inside mysql client tool directly by user interaction required here! # Restart normal operation after changing passsword done interactively above. subprocess.run(['net', 'start', 'mysql'], check=True) except Exception as e: print(f"Error occurred during process:{e}") reset_mysql_password() ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值