⚠️ 重要提示:操作前备份!
在进行任何修改文件或数据库的操作之前,强烈建议您先备份您的网站文件和数据库,以防操作失误导致网站无法访问。

使用 DedeCMS 自带的“找回密码”功能(最安全、首选)
这是最标准、最安全的方法,适用于所有版本的 DedeCMS,它会通过您当初设置的安全问题和注册邮箱来验证您的身份,然后发送一个重置密码的链接到您的邮箱。
- 打开您的 DedeCMS 后台登录页面,
http://您的域名/dede/login.php。 - 在登录框下方,点击 “找回密码” 链接。
- 系统会要求您输入管理员用户名或注册邮箱。
- 输入信息后,系统会向您当初设置的安全邮箱发送一封包含重置密码链接的邮件。
- 登录您的邮箱,点击邮件中的链接,按照提示设置一个新的密码即可。
如果这个方法可用,请优先使用它,无需进行任何手动操作。
通过修改数据库直接重置密码(最常用)
如果方法一不可用(例如忘记邮箱、安全问题答案错误等),我们可以直接登录数据库,修改管理员密码的值,这里我们以 MD5 加密为例,因为这是 DedeCMS 最常用的加密方式。
步骤 1:获取数据库信息
登录您的网站 FTP 或主机控制面板,找到 data/common.inc.php 文件,这个文件包含了网站连接数据库的所有信息,用文本编辑器打开它,找到以下几行:

$cfg_dbhost = 'localhost'; // 数据库主机 $cfg_dbuser = 'root'; // 数据库用户名 $cfg_dbpwd = 'password'; // 数据库密码 $cfg_dbname = 'dedecms'; // 数据库名 $cfg_dbprefix = 'dede_'; // 数据库表前缀 (非常重要!)
请记下这些信息,特别是 $cfg_dbname (数据库名) 和 $cfg_dbprefix (表前缀)。
步骤 2:登录数据库管理工具
使用您在步骤 1 中获取的信息,登录到数据库管理工具,常用的工具有:
- phpMyAdmin (绝大多数虚拟主机都提供)
- MySQL Workbench (桌面客户端)
- Navicat for MySQL (功能强大的桌面客户端)
步骤 3:找到管理员记录
- 选择您在
common.inc.php中看到的数据库名(dedecms)。 - 在左侧的表列表中,找到以
dede_开头的表,然后找到admin表。如果您的表前缀不是dede_,请使用您实际的表前缀。 - 点击
admin表,进入数据浏览页面。
步骤 4:修改密码
在 admin 表中,找到 userid 字段为 admin 的那一行(如果您自定义了管理员用户名,请找到对应的行)。
- 字段说明:
userid: 管理员用户名pwd: 存储密码的字段uname: 管理员昵称(可选)
- 点击该行记录的 “编辑” 按钮。
- 找到
pwd字段,将其值修改为您想要的新密码的 MD5 值。
如何获取新密码的 MD5 值?
您可以使用在线 MD5 加密工具,例如搜索“MD5 在线加密”,输入您的新密码,然后复制生成的 MD5 值(32位字符串)。

示例:
如果您想设置新密码为 123456,您可以在网上搜索 "md5 123456",得到它的 MD5 值是 e10adc3949ba59abbe56e057f20f883e,您就将 pwd 字段的值改为这个。
- 点击 “执行” 或 “Go” 保存修改。
步骤 5:清除缓存(重要!)
有时候修改后仍然无法登录,这是因为 DedeCMS 缓存了密码信息,请务必清除以下目录中的所有文件:
/data/cache//data/session/
您可以直接通过 FTP 删除这两个目录下的所有文件,或者登录到主机控制面板的文件管理器中进行操作。
清除缓存后,重新尝试登录后台。
通过修改 PHP 文件临时重置密码(无需数据库)
如果由于某些原因您无法登录数据库,可以创建一个临时的 PHP 文件来重置密码。
- 在您的电脑上新建一个文本文件,命名为
reset_pwd.php。 - 将以下代码复制并粘贴到该文件中:
<?php
require_once 'data/common.inc.php'; // 引入数据库配置文件
// --- 请在这里修改 ---
$new_username = 'admin'; // 您想设置的管理员用户名
$new_password = '123456'; // 您想设置的新密码
// --------------------
// 连接数据库
$link = mysql_connect($cfg_dbhost, $cfg_dbuser, $cfg_dbpwd);
mysql_select_db($cfg_dbname, $link);
mysql_query("SET NAMES 'gbk'"); // 根据您的数据库编码调整,通常是 gbk 或 utf8
// 对新密码进行 MD5 加密
$pwd_md5 = md5($new_password);
// 更新 admin 表中的密码
$query = "UPDATE {$cfg_dbprefix}admin SET pwd = '$pwd_md5' WHERE userid = '$new_username'";
$result = mysql_query($query);
if ($result) {
echo "密码重置成功!<br>";
echo "用户名: " . $new_username . "<br>";
echo "新密码: " . $new_password . "<br>";
echo "请立即登录后台并删除此文件!";
} else {
echo "密码重置失败,请检查数据库连接和表前缀是否正确。";
}
mysql_close($link);
?>
- 修改代码中的
$new_username和 $new_password` 为您想要的新用户名和密码。 - 通过 FTP 将这个
reset_pwd.php文件上传到您的 DedeCMS 网站根目录(与index.php同级)。 - 在浏览器中访问这个文件,
http://您的域名/reset_pwd.php。 - 页面会显示重置成功或失败的信息。
- 成功后,请务必立即删除
reset_pwd.php文件! 这是为了防止安全风险。
总结与排查
- 首选方法一:最安全,符合系统设计。
- 方法二最常用:直接有效,但需要数据库操作权限。
- 方法三备选:当数据库无法访问时使用,但用完必须删除文件。
- 常见问题:如果修改后还是无法登录,99% 的情况是没有清除
/data/cache/目录,请务必检查。
希望这些方法能帮助您成功重置密码!
