12k
All articles

如何重置 WordPress 管理员密码

通过仪表盘、忘记密码链接、WP-CLI或phpMyAdmin重置WordPress管理员密码,并了解恢复后安全检查步骤。

OpenReplay Team
OpenReplay Team
如何重置 WordPress 管理员密码

失去对 WordPress 管理员账户的访问权限固然令人沮丧,但这是一个可以解决的问题。无论是您忘记了密码、重置邮件迟迟未送达,还是被锁定在一个没有可用邮件服务器的站点之外,总有一种方法适合您的情况。本指南介绍了四种可靠的 WordPress 管理员密码重置方法——按从最简单到最具技术性的顺序排列。

核心要点

  • 始终从最简单的可用方法入手:如果您已登录,使用仪表盘重置;如果您能收到邮件,则使用”忘记密码?“链接。
  • 对于拥有 SSH 访问权限的用户,WP-CLI 是最快、最安全的恢复选项,因为它使用了 WordPress 自身的哈希内部机制。
  • 通过 phpMyAdmin 使用 MD5 值是一种最后手段的恢复方法;WordPress 会在您下次登录时自动将哈希升级为其当前的标准算法。
  • 重新获得访问权限后,请审查您的用户列表,并启用双因素认证,以防止未来再次被锁定。

方法快速选择

您的情况最佳方法
您已登录仪表盘重置
您能收到邮件忘记密码链接
您拥有 SSH 访问权限WP-CLI
没有邮件,也没有 SSHphpMyAdmin

方法 1:从 WordPress 仪表盘重置

适用场景: 您已登录,只是想更新密码。

  1. 在管理菜单中前往 用户 → 个人资料
  2. 滚动到 账户管理 部分。
  3. 点击 设置新密码。WordPress 会自动生成一个强密码。
  4. 如有需要,可替换为您自己的密码,然后点击 更新个人资料

这是最干净的方法。无需数据库访问,无需任何工具——只需通过界面进行标准的密码更新。

方法 2:使用”忘记密码?“链接

适用场景: 您被锁定,但仍能通过账户绑定的邮箱地址收到邮件。

  1. 前往 yoursite.com/wp-login.php
  2. 点击 忘记密码?
  3. 输入您的用户名或注册邮箱地址。
  4. 查看收件箱中的重置链接并点击。
  5. 设置新密码并登录。

如果邮件始终未送达,请先检查垃圾邮件文件夹。如果您的站点未配置为可靠地发送邮件,可以考虑安装 WP Mail SMTP——但若需立即恢复访问,请跳至方法 3 或方法 4。

方法 3:WP-CLI 密码重置(推荐给开发者)

适用场景: 您拥有服务器的 SSH 访问权限。这是恢复 WordPress 管理员账户最快、最可靠的方式,且无需直接操作数据库。

# List users to confirm the username or ID
wp user list

# Reset by username
wp user update admin --user_pass="YourNewPassword123!"

# Or reset by user ID
wp user update 1 --user_pass="YourNewPassword123!"

WP-CLI 使用 WordPress 自身的内部机制正确处理密码哈希,因此无需手动生成哈希值。您可以查阅官方的 WP-CLI user update 文档 以了解更多选项。

安全提示: 作为内联参数传递的密码可能会出现在 shell 历史记录或进程日志中。在可能的情况下,尤其是在共享系统上,建议优先使用基于交互提示的工作流或生成的密码。

方法 4:通过 phpMyAdmin 重置(数据库恢复)

适用场景: 您无法访问邮件也没有 SSH,但能通过主机控制面板访问 phpMyAdmin。

  1. 打开 phpMyAdmin 并选择您的 WordPress 数据库。
  2. 打开 wp_users 表(前缀可能不同——请查看 wp-config.php 中的 $table_prefix)。
  3. 找到您的管理员用户并点击 编辑
  4. user_pass 字段中,清除现有的值。
  5. 以明文输入您的新密码,然后从函数下拉菜单中选择 MD5
  6. 点击 执行 保存。

重要背景: 现代 WordPress 使用更强的哈希算法(如 bcrypt)来存储密码。直接写入 MD5 哈希是一种恢复手段,并非首选工作流。WordPress 会在您下次登录时检测到 MD5 格式,并自动将哈希升级为其当前的标准算法。之后,请通过仪表盘再次修改密码,以确保其被正确存储。

您还可以查阅官方的 WordPress 密码重置文档 了解其他恢复方法。

重新获得访问权限后

重新登录后,请花几分钟时间:

  • 如果您使用了数据库方法,请通过仪表盘再次修改密码。
  • 用户 → 所有用户 下确认没有被添加未经授权的管理员账户。
  • 考虑使用 WP 2FA 等插件启用双因素认证。

结语

被锁定的情况很少是永久的。从您可用的最简单方法开始,仅在必要时才向下尝试列表中的其他方法。对于拥有服务器访问权限的用户,WP-CLI 是最高效的路径;而在没有服务器访问权限时,phpMyAdmin 仍是可靠的备选方案。无论选择哪种方式,请务必通过仪表盘进行正式的密码重置,并执行一次快速的安全审查,确保您的账户始终归您所有。

常见问题解答

为什么 WordPress 不接受我在 phpMyAdmin 之外生成的 MD5 哈希?

MD5 技巧仅在 WordPress 从 user_pass 列读取原始 MD5 字符串并将其识别为遗留哈希时才有效。如果您粘贴哈希时未在 phpMyAdmin 中选择 MD5 函数,或者该值包含额外的空格或引号,WordPress 会将其视为无效的遗留哈希。请始终粘贴纯文本密码,并从函数下拉菜单中选择 MD5。

在生产环境中通过数据库重置 WordPress 密码安全吗?

作为一次性恢复手段是安全的,但不应作为常规操作。直接的数据库编辑会绕过 WordPress 钩子,因此跟踪密码变更或强制执行策略的插件不会运行。重新获得访问权限后,请通过仪表盘登录并再次重置密码,以便存储正确的 bcrypt 哈希,同时确保任何安全插件都能正确记录该事件。

如果 WP-CLI 返回 'Error: This does not seem to be a WordPress installation' 怎么办?

WP-CLI 必须在 WordPress 根目录下运行,即 wp-config.php 所在的位置。请先 cd 到该目录,或使用 --path 标志显式传入路径,例如:wp user update admin --user_pass='NewPass123!' --path=/var/www/html。同时请确认运行 WP-CLI 的系统用户对 wp-config.php 拥有读取权限。

未来如何防止被 WordPress 管理后台锁定?

将管理员凭据保存在密码管理器中,保留一个备用管理员账户以防主账户被泄露,并配置可靠的 SMTP 服务以确保重置邮件能够送达。启用双因素认证可以增加保护,但请同时将备份代码离线保存,以防设备丢失导致无法恢复访问。

DevTools for the frontend

Gain Debugging Superpowers

Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers.

Star on GitHub12k

We use cookies to improve your experience. By using our site, you accept cookies.