登录
首页 >  文章 >  php教程

修改MySQLroot密码的PHPenv方法

时间:2026-05-09 09:19:27 423浏览 收藏

当在phpEnv中忘记MySQL root密码时,必须通过`--skip-grant-tables`模式绕过权限验证,严格按关闭服务、管理员运行mysqld、另开窗口执行SQL更新`user`表并刷新权限、彻底终止残留进程、最后重启服务的完整流程操作——任何步骤遗漏(如忽略`--shared-memory`参数或未清理`mysqld.exe`进程)都会导致密码修改失败或服务无法启动;而若仍记得旧密码且MySQL版本≥5.7.6,则推荐更安全便捷的`ALTER USER`命令在线修改。

phpEnv如何修改默认MySQL root用户密码

phpEnv 是绿色免安装的 PHP + Apache + MySQL 集成环境,其 MySQL 默认 root 密码为空,但一旦设过密码又忘记,就不能靠 phpMyAdmin 或配置文件直接重置——必须绕过权限验证改 user 表。下面分场景说明实操路径。

确认当前 MySQL 是否能正常登录

先判断你卡在哪一步:如果执行 mysql -u root -p 后输空密码能进,说明密码还是空的,直接用 SQL 改就行;如果提示 Access denied for user 'root'@'localhost',且你不确定旧密码,就得走跳过权限表流程。

  • 打开命令行,进入 phpEnv 目录下的 mysql\bin(例如:D:\phpEnv\mysql\bin
  • 运行 mysql -u root -p,回车后直接按 Enter(不输任何字符)
  • 若出现 mysql> 提示符,说明当前无密码,跳到下一节;否则继续本节后续步骤

用 --skip-grant-tables 启动 MySQL(适用于忘记密码)

这是唯一能绕过认证强制修改密码的方式,但必须严格按顺序操作,否则会卡死或无效。

  • 先关闭 phpEnv 中正在运行的 MySQL:右键托盘图标 → “MySQL” → “Stop MySQL Server”
  • 进入 mysql\bin 目录,用管理员权限打开命令行(非 PowerShell,避免兼容问题)
  • 执行:mysqld --skip-grant-tables --shared-memory —— 注意不要加 &,该窗口需保持打开
  • 另开一个命令行窗口,同样进入 mysql\bin,执行:mysql -u root(此时不加 -p,也不输密码)
  • 进库后立即执行:USE mysql;UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost';
  • 再执行:FLUSH PRIVILEGES;,然后 EXIT;

改完密码后必须终止 mysqld 进程再重启服务

很多人卡在这步:以为改完就完了,结果 phpEnv 里 MySQL 启动失败,或者新密码仍不生效。

  • 回到第一个运行 mysqld --skip-grant-tables 的命令行窗口,按 Ctrl + C 终止它(不是关窗口)
  • 等几秒,确认任务管理器中没有残留的 mysqld.exe 进程(有就手动结束)
  • 回到 phpEnv 托盘,点击 “MySQL” → “Start MySQL Server”
  • 再试:mysql -u root -p,输入新密码,应能成功进入

MySQL 5.7.6+ 推荐用 ALTER USER(仅限已知旧密码时)

如果你还记得旧密码,且 MySQL 版本 ≥ 5.7.6(phpEnv 多数打包的是 5.7.31 或 8.0.33),优先用标准 SQL 命令,更安全、不需停服务。

  • 执行:mysql -u root -p,输入旧密码登录
  • mysql> 下执行:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  • 不需要 FLUSH PRIVILEGES;,该语句自带刷新
  • 退出后即可用新密码连接,phpEnv 界面无需重启(但部分老版本 phpEnv 可能缓存连接,建议重启一次)

最容易被忽略的是 --shared-memory 参数和进程清理:Windows 下不加这个参数,--skip-grant-tables 在某些 phpEnv 版本中会启动失败;而没杀干净 mysqld.exe,会导致后续无法绑定 3306 端口。改完别急着关窗口,盯一眼任务管理器再点启动。

好了,本文到此结束,带大家了解了《修改MySQLroot密码的PHPenv方法》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>