WordPress 后台密码忘记怎么办?三种重置密码方法操作步骤与常见问题

忘记 WordPress 后台登录密码是站长最常遇到的问题之一:可能是密码保存久了记混,可能是同事交接时没有交接账号,也可能是站点换了服务器后会话失效。进不去后台并不意味着只能重装网站,本文给出三种经过验证的重置方法,按"能收邮件→有数据库面板→有 SSH"的顺序覆盖绝大多数场景,每一步都附说明和常见问题,普通站长照着操作即可解决。

一、适用场景与准备工作

本教程适用于 WordPress 自托管站点(包括宝塔面板、LNMP/LAMP 环境、云服务器自行搭建的站点),不适用于 WordPress.com 托管版——后者直接在登录页点"忘记密码"按提示操作即可。无论用哪种方法,动手前建议先确认两件事:一是站点是否有近期数据库备份(改密码本身不动数据,但养成先备份的习惯可以避免误操作);二是搞清楚自己手里有什么权限——服务器面板(如宝塔)、phpMyAdmin、FTP/文件管理、SSH,权限不同,可选方法不同。

另外一个重要提醒:重置密码只是"重新获得入口",如果原密码是因为泄露才需要重置,那么重置后还应检查后台用户列表里有没有陌生管理员账号。下文三种方法按推荐顺序排列,第一种最安全但依赖邮件,第二种适用范围最广,第三种适合有命令行权限的用户。

二、方法一:通过登录页"忘记密码"用邮件找回

如果后台注册邮箱还能正常收信,这是最稳妥的做法,全程不需要碰服务器。操作步骤:浏览器访问站点后台登录地址,一般是https://你的域名/wp-login.php(WordPress 5.x 之后也支持 https://你的域名/wp-admin 自动跳转到登录页),点击密码框下方的"忘记密码?"链接。

在弹出页面中输入管理员账号的用户名或注册邮箱,点击"获取新密码"。系统会向该邮箱发送一封标题类似"密码重置请求"的邮件,其中包含一条形如 https://你的域名/wp-login.php?action=rp&key=xxxx&login=xxxx 的重置链接。点击链接进入设置页面,输入两次新密码即可完成重置,随后直接用新密码登录。需要注意:重置链接默认有时效,过期后重新点一次"忘记密码"即可;如果邮箱里找不到邮件,先检查垃圾邮件文件夹,再考虑用下面的方法二。

三、方法二:用 phpMyAdmin 直接修改密码(最常用)

国内很多服务器的邮件发不出去(25 端口被封、没配 SMTP),这时用数据库直接改密码是最可靠的办法。前提是你能进入 phpMyAdmin:宝塔面板用户在"数据库"页点击对应数据库右侧的"phpMyAdmin"图标即可进入;独立安装的 phpMyAdmin 则通过服务器 IP 加端口访问。

第一步:进入 phpMyAdmin 后,在左侧数据库列表中选择站点正在使用的数据库(不确定是哪个库,可以打开网站根目录下的 wp-config.php,搜索 DB_NAME 一行,后面的字符串就是数据库名)。第二步:在表列表中找到 wp_users 表并点击"编辑"(笔形图标)。注意:如果安装时改过表前缀,这个表可能叫 xxx_users,同样以 wp-config.php 里 $table_prefix 的值为准。

第三步:点击需要重置密码的用户行前的"编辑",找到 user_pass 字段,在"值"一栏填入新密码,"函数"下拉框务必选择 MD5,然后点击"执行"。第四步:返回站点登录页,用新密码登录。登录成功后建议立刻到"用户→个人资料"里再设置一次密码,让 WordPress 用更现代的散列算法重新保存,安全性更高。

这一步动的是数据库,操作前最好通过 phpMyAdmin 的"导出"功能把 wp_users 表备份一份;一旦填错函数或改错用户,导入备份即可恢复。

WordPress 后台密码重置:键盘与显示器特写
图:重置后台密码后,建议立即更换为高强度密码并开启两步验证

四、方法三:functions.php 临时重置与 WP-CLI 命令

如果你能修改站点文件(FTP、宝塔"文件"或 SSH 都算),还可以用第三种方法。通过文件管理进入当前主题目录 /wp-content/themes/你的主题/,编辑 functions.php,在文件末尾(?> 之前,若没有结尾标签则直接追加)临时加入一行代码:

wp_set_password('你的新密码', 1);

保存后,访问一次前台或后台登录页,密码即被重置为代码里设置的值。其中数字 1 是管理员用户的 ID,多用户站点可以在 phpMyAdmin 的 wp_users 表中查到对应用户的 ID。特别强调:这行代码属于一次性操作,重置完成后必须立刻从 functions.php 中删除,否则页面每次被访问都会重复重置密码,还额外暴露了明文密码。

如果服务器开通了 SSH 且安装了 WP-CLI(很多一键环境默认自带),用两条命令更快,不需要改任何文件:

cd /www/wwwroot/你的站点目录
wp user list
wp user update 1 --user_pass='你的新密码'

第一条命令列出所有用户及其 ID,第二条把对应用户的密码改为新值,命令行里要及时清空历史记录。没有 WP-CLI 时也可以通过 php -r 脚本调用 WordPress 内置函数实现,效果相同。

五、常见问题

1. 点了"忘记密码"一直收不到邮件怎么办?大概率是服务器没有正确配置发信功能。可以检查:服务器 25 端口是否被运营商封禁(可尝试更换为 465 端口的 SMTP 发信);是否安装了 WP Mail SMTP 之类插件并填写了正确的邮箱账号、授权码;到服务器的邮件日志或插件日志里查看报错信息。收不到邮件时直接改用方法二,不必在邮件上纠缠。

2. phpMyAdmin 里找不到 wp_users 表?两种可能:一是进错了数据库,回到 wp-config.php 核对 DB_NAME;二是站点修改过表前缀,表名形如 wp2f_users,同样以 $table_prefix 的值为准。另外极少数站点把用户表分表存储,这种情况需要借助 phpMyAdmin 的搜索功能定位。

3. 密码明明改对了,登录时却提示"会话已过期"或提示 ERROR: Cookies are blocked?先清除浏览器缓存和 Cookie 再试;如果站点最近从 HTTP 切换到 HTTPS,或反过来,浏览器可能仍持有旧域名的 Cookie,用无痕窗口访问即可。若站点配置了 Redis 对象缓存,重置密码后清空一次缓存也能避免这类问题。

4. phpMyAdmin 里 user_pass 的"函数"该选 MD5 还是其他?WordPress 早期使用 MD5 散列,phpMyAdmin 中选 MD5 可以直接被识别登录;PHPPASSWORD、SHA 等选项生成的字符串 WordPress 无法解析,会导致登录失败。需要说明的是,MD5 本身强度较弱,所以登录成功后应在后台再改一次密码,让系统自动升级为更安全的散列方式。

六、总结

忘记 WordPress 后台密码不用慌,记住优先级即可:邮箱还能收信,走登录页"忘记密码"最省事;邮件收不到或没配 SMTP,用 phpMyAdmin 改 user_pass 字段(函数选 MD5)是最通用的方案;有 SSH 和 WP-CLI 时,一条 wp user update 命令即可搞定,适合批量运维。三种方法的共同底线是:操作前备份相关数据,functions.php 的临时代码用完即删。

最后给两条安全建议:重置后立即设置 12 位以上、包含大小写字母数字符号的强密码,并开启两步验证(可安装两步验证插件);如果原密码疑似泄露,顺手在"用户→所有用户"里检查是否有多余的管理员账号,必要时安装登录尝试限制插件,防止后台被暴力破解。把这次的新密码存入密码管理工具,下次就不会再"忘记"了。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容