管理员密码忘了、后台进不去,先别想着重装。只要还能连上服务器(SSH)或进数据库,几分钟就能重置,不用动网站文件。下面给三种方法,从最简单到兜底,总有一种你用得上。
方法一:登录页「忘记密码」(需邮件可用)
最省事:登录页点「忘记密码」,系统发邮件给重置链接。但很多 VPS 根本没配邮件服务,链接发不出去——这种直接跳下面两种方法,别在邮件上耗。
方法二:WP-CLI 一行重置(推荐)
有 SSH 且装了 WP-CLI 最方便,进到网站根目录一行搞定:
# 直接设新密码
wp user update 管理员用户名 --user_pass=新密码
# 或生成一个随机密码并打印出来
wp user reset-password 管理员用户名
注意在站点根目录(有 wp-config.php 的地方)执行,新密码要够强,否则 WP-CLI 会拒绝。用户名拿不准就 wp user list 看一下。
方法三:直接改数据库(phpMyAdmin / 命令行)
没 WP-CLI 也能改数据库。关键点:wp_users 表的 user_pass 字段是哈希值,不能填明文,得用 MySQL 的 MD5() 函数包一层:
UPDATE wp_users
SET user_pass = MD5('新密码')
WHERE user_login = '管理员用户名';
表前缀可能不是 wp_,先 SHOW TABLES; 找 users 表。改完用新密码登录,进后台在「个人资料」里再设一次——WP 会自动把它转成更安全的哈希。
| 方法 | 前提 | 难度 |
|---|---|---|
| 登录页邮件重置 | 邮件服务可用 | ★ 最简单 |
| WP-CLI | 有 SSH + WP-CLI | ★★ 推荐 |
| 改数据库 | 能进 phpMyAdmin/MySQL | ★★★ 兜底 |
踩坑实录
有回帮人处理,在 phpMyAdmin 里手滑把 user_pass 直接填了明文 newpass123,满以为搞定,结果登录提示密码错。原因是 WP 存的密码是经 MD5 中转的哈希,直接写明文它压根不认。改成 MD5('newpass123') 立刻就好。还有一次,人进去了却是「订阅者」角色——wp_capabilities 字段被之前误操作改坏,得把它改回管理员。所以重置完最好顺手确认下角色。
顺手确认角色没坏
如果登录后权限不对(比如看不到后台菜单),查一下用户元数据:
SELECT * FROM wp_usermeta
WHERE user_id = 1 AND meta_key = 'wp_capabilities';
正常值应是 a:1:{s:13:"administrator";b:1;}。如果不对,直接 UPDATE 把它改回,或者登录后在「用户 → 我的资料」里重新选角色。
临时进不去的应急法
要是连数据库都进不去,还有 FTP 改 functions.php 建临时管理员账号的招(登录后务必删掉那段代码,别留后门)。更完整的登录故障排查可以看这篇 WordPress 后台无法登录怎么办。
常见问题
改了密码还是登不进?
多半是 cookie 或安全插件拦截。清浏览器 cookie、用无痕模式,或临时停用 Wordfence 这类登录限制插件再试。
用 MD5 存密码不安全吧?
只是重置入口用了 MD5,你登录成功后 WP 会自动把密码重哈希成更安全的算法,不影响长期安全。
表前缀不是 wp_ 怎么办?SHOW TABLES; 找到实际的 users 表名,把 SQL 里的 wp_ 替换掉即可。
重置完要做啥?
用新密码登录,到「用户 → 个人资料」里设一个自己记得的强密码,就完事了。
你重置 WP 密码用的最顺手的是哪招?欢迎到 fenij.com 评论区说说。