如果你在阿里云上部署的 WordPress 站点忘记了管理员密码,可以通过以下几种方法进行恢复。具体选择哪种方式取决于你的访问权限(如是否能登录服务器、数据库或控制台)。
✅ 方法一:通过数据库重置密码(推荐)
适用于:你可以访问阿里云的 ECS 实例 和 MySQL 数据库。
步骤:
-
登录阿里云 ECS 服务器
- 使用 SSH 工具(如 Xshell、PuTTY 或阿里云控制台的远程连接)登录到你的 ECS 实例。
-
登录 MySQL 数据库
mysql -u root -p输入数据库密码后进入 MySQL 命令行。
-
选择 WordPress 数据库
USE your_database_name;将
your_database_name替换为你的 WordPress 数据库名(通常在wp-config.php中可查)。 -
查看用户表中的管理员账户
SELECT ID, user_login, user_email FROM wp_users;找到管理员用户名(通常是
admin)和 ID。 -
更新管理员密码
UPDATE wp_users SET user_pass = MD5('new_password') WHERE user_login = 'admin';注意:
new_password是你设置的新明文密码。- WordPress 使用 MD5 加密存储密码(尽管实际新版也支持更安全的哈希,但直接用 MD5 修改是兼容且有效的方式)。
- 表前缀可能不是
wp_,请确认实际前缀(如wp_,wpxx_等)。
-
退出并测试登录
EXIT;然后访问你的 WordPress 后台(
/wp-admin),使用新密码登录。
✅ 方法二:通过 wp-config.php 添加密码重置代码
适用于:你能访问网站文件(如通过 FTP 或 ECS 文件系统)。
步骤:
-
使用 SSH 或 FTP 登录服务器,找到 WordPress 根目录下的
wp-config.php文件。 -
在文件开头加入以下代码(临时启用自动登录):
define('WP_ALLOW_REPAIR', true);更实用的方法是使用“紧急密码重置”插件逻辑,但更简单的是:
编辑主题的
functions.php(不推荐长期使用):// 临时添加到主题 functions.php function reset_admin_password() { $user = get_user_by('login', 'admin'); // 改成你的用户名 if ($user) { wp_set_password('new_password', $user->ID); error_log("Password reset for admin"); } } add_action('init', 'reset_admin_password'); -
保存后访问网站任意页面一次,密码即被修改。
-
务必立即删除这段代码,防止安全风险。
✅ 方法三:使用 phpMyAdmin(如果有图形化工具)
适用于:你通过宝塔、AMH、WDCP 等面板部署,或手动安装了 phpMyAdmin。
步骤:
- 登录 phpMyAdmin。
- 选择 WordPress 数据库。
- 找到
wp_users表 → 浏览数据。 - 找到管理员用户,点击“编辑”。
- 在
user_pass字段:- 函数选择
MD5 - 输入你的新密码(如
mypassword123)
- 函数选择
- 点击“执行”保存。
✅ 方法四:通过阿里云控制台重置 ECS 密码 + 重建 WordPress 用户
如果连数据库都进不去,可以:
- 重启 ECS 实例,进入 单用户模式 / 救援模式(需熟悉 Linux 操作)。
- 挂载磁盘,修改数据库或 WordPress 配置。
- 或者使用快照恢复到之前的备份状态。
⚠️ 高风险操作,建议有备份。
✅ 方法五:使用 WordPress “忘记密码”功能(前提:邮箱可用)
如果:
- 你记得管理员邮箱;
- 邮箱能正常收信;
- WordPress 邮件功能正常(SMTP 配置正确);
→ 可直接访问登录页:
https://yourdomain.com/wp-login.php?action=lostpassword
输入用户名或邮箱,系统会发送重置链接。
❗ 若邮件发不出(常见于阿里云默认禁用 25 端口),此方法无效。
🔐 安全建议
- 修改后立即测试并记录新密码。
- 开启双因素认证(如 Wordfence 插件)。
- 配置 SMTP 邮件服务(如阿里云邮件推送、SendGrid),确保找回密码可用。
- 定期备份数据库和文件(推荐使用阿里云快照 + 对象存储 OSS)。
总结:推荐流程
| 情况 | 推荐方法 |
|---|---|
| 能登录 ECS 和数据库 | 方法一:MySQL 直接修改 user_pass |
| 有文件管理权限 | 方法二:临时代码重置 |
| 有 phpMyAdmin | 方法三:图形化修改 |
| 邮箱可用 | 方法五:使用“忘记密码” |
如有使用宝塔面板、云虚拟主机等不同部署方式,也可提供具体情况,我可以给出针对性方案。
云小栈