⭐ 推荐:社区规则条款 V1.0

小皮面板 MySQL 密码忘了怎么重置?

域名注册
域名注册 初级会员超兽战士 👑年卡会员
发布于 2026-10-10 22:14 ·1 浏览 ·0 回复

忘记 MySQL 密码不用重装数据库,照着这篇走一遍,你能把 root 密码改回来并让网站重新连上数据库。

第一步:先确认你用的是哪个「小皮」

小皮面板有两套产品,重置方式完全不同,走错就白折腾:

  • Windows 客户端版(phpStudy v8):装在你自己电脑上,打开是一个带「首页/网站/数据库/软件管理/设置」左侧菜单的窗口,托盘有个小图标。
  • Linux 服务器版(小皮面板):装在服务器上,通过浏览器访问 http://服务器IP:9999(以安装完成时终端打印的地址为准),界面像宝塔。

下面第二、三步对应这两种情况,第四步两者通用。

第二步:面板还能登录,直接在面板里改

Windows phpStudy v8:打开主界面 → 左侧点「数据库」→ 找到 MySQL 那一行(比如 MySQL 8.0.12)→ 点右侧的「修改密码」按钮(部分小版本写作「密码修改」)→ 输入新密码 → 确定 → 回到首页把 MySQL 状态切到「停止」再切回「启动」。

Linux 小皮面板:浏览器登录面板 → 左侧「数据库」→ 顶部有「root密码」按钮 → 输入新密码 → 确定。面板会自己把新密码写进 MySQL 配置并重启服务。

注意:面板里改完,网站还是连不上,是因为网站的配置文件(比如 WordPress 的 wp-config.php、ThinkPHP 的 database.php)里还写着旧密码,要一并改掉。

第三步:面板也进不去,用 skip-grant-tables 强制重置

这是最通用的兜底方案,原理是让 MySQL 启动时跳过密码校验,进去改完再恢复正常。

Windows 版操作:

  1. 在 phpStudy 面板把 MySQL 点「停止」。
  2. 打开 MySQL 安装目录下的 my.ini(phpStudy 里在 phpstudy_pro\Extensions\MySQL8.0.12\my.ini),在 [mysqld] 这一行下面另起一行加 skip-grant-tables,保存。
  3. 在面板里把 MySQL 点「启动」。
  4. 以管理员身份打开 cmd,执行 mysql -uroot -p,提示输密码时直接回车。
  5. 按版本执行下面之一,然后关掉 skip-grant-tables 那一行,重启 MySQL。

Linux 小皮面板操作:

ps aux | grep mysqld          # 看 --defaults-file= 后面的配置文件路径

pkill -9 mysqld
vi /www/server/mysql/my.cnf   # 在 [mysqld] 下加一行 skip-grant-tables
# 用面板或 init 脚本重新启动 MySQL
mysql -uroot                  # 此时免密可进

进去之后按你的 MySQL 版本执行:

MySQL 5.7:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xp123456!';

MySQL 8.0:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xp123456!';

注意:MySQL 8.0 已经没有 password 字段,执行 UPDATE mysql.user SET password=... 会直接报 Unknown column 'password'。5.7 用 authentication_string 字段或上面这条 ALTER USER 都行。

注意:在 skip-grant-tables 模式下不能直接 ALTER USER,必须先执行一次 FLUSH PRIVILEGES; 才行。

注意:MySQL 8.0 默认密码策略要求至少 8 位、含大小写字母、数字和符号,123456 这种会被拒绝。

注意:skip-grant-tables 期间任何人都能免密登录数据库。如果服务器有公网 IP,改完立刻删掉这行并重启;实在担心,先临时关掉 3306 端口的外网放行规则。

第四步:验证并同步各处密码

  1. 命令行验证:mysql -uroot -p新密码,能进则成功。
  2. 回面板「数据库」页把 root 密码也改成同一个(面板自己存了一份,用于它内部的连接,不改会出现「面板显示数据库正常但实际连不上」)。
  3. 逐个改网站配置文件里的数据库密码,重启 PHP/Nginx。

小结

  • 先分清是 Windows phpStudy v8 还是 Linux 小皮面板,前者在「数据库」页点「修改密码」,后者在「数据库」页点「root密码」。
  • 面板进不去就用 skip-grant-tables:停服务 → 配置文件加一行 → 启动 → 免密登录 → FLUSH PRIVILEGES + ALTER USER → 删掉那行 → 重启。
  • MySQL 8.0 没有 password 字段,别用老教程里的 UPDATE 语句。
  • 改完密码只是第一步,面板里的记录、网站配置文件都要同步改,否则照样连不上。
版权声明:本文来自 GJ站长论坛《小皮面板 MySQL 密码忘了怎么重置?》
原文链接:https://www.gj0.com/thread-1546.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~