第一步:准备工作(至关重要!)
在开始任何还原操作之前,请务必做好以下准备工作,以防操作失误导致数据永久丢失。

(图片来源网络,侵删)
-
备份现有数据(如果你需要保留旧数据):
如果你的服务器上已经有一个运行中的站点,而你希望在还原前保留它,请先备份当前的数据库和程序文件,这相当于给你的数据买了个“双保险”。
-
获取完整的备份文件:
- 数据库备份文件:通常是
.sql格式,由phpMyAdmin导出或 DedeCMS 自带的“数据备份/还原”功能生成。 - 程序文件备份:通常是
.zip或.tar.gz格式的压缩包,包含了/dede/、/include/、/templets/等所有网站程序文件。 - 全站备份:可能包含数据库和程序文件的压缩包。
- 数据库备份文件:通常是
-
准备一个干净的环境(推荐):
(图片来源网络,侵删)- 最佳实践:不要在原网站目录下直接覆盖还原,这容易因文件权限、版本冲突等问题导致失败。
- 推荐操作:在你的本地电脑(如 XAMPP, WAMP, MAMP 环境)或一个新的子域名/目录(如
yourdomain.com/backup)上进行还原和测试,确认无误后,再替换到正式环境。
第二步:还原网站程序文件
这一步相对简单,主要是把备份的网站文件放回正确的位置。
-
清空目标目录:
- 通过 FTP 或文件管理器,连接到你的服务器。
- 找到你网站存放的根目录(通常是
public_html,www或httpdocs)。 - 删除该目录下的所有旧文件和文件夹(如
/dede/,/include/,/plus/,/uploads/等),但不要删除目录本身。
-
上传备份的程序文件:
- 将你备份的 程序文件压缩包(
website_backup.zip)解压。 - 将解压后的所有文件和文件夹,通过 FTP 上传到刚刚清空的网站根目录中。
- 确保目录权限正确:
- Linux 服务器下,通常需要设置以下目录的权限为 755,文件权限为 644。
- 以下目录需要设置为 777 权限(为了安全,还原后记得改回 755):
/data/(存放缓存和配置文件)/uploads/(附件目录)/templets/(模板目录,如果开启了模板缓存)/plus/(附加目录)/dede/(后台目录,如果开启了文件管理)
- 将你备份的 程序文件压缩包(
第三步:还原数据库(最关键的一步)
数据库是网站的灵魂,包含了所有文章、会员、分类等信息,还原数据库需要谨慎操作。

(图片来源网络,侵删)
-
创建新的数据库(推荐):
- 登录你的服务器控制面板(如 cPanel, Plesk)或使用
phpMyAdmin。 - 创建一个新的数据库和对应的数据库用户,并授予该用户所有权限。
- 为什么推荐新建? 因为这样可以避免与旧数据库的残留数据或结构冲突,确保一个完全干净的环境。
- 登录你的服务器控制面板(如 cPanel, Plesk)或使用
-
导入数据库备份文件:
- 打开
phpMyAdmin。 - 在左侧列表中选择你刚刚创建的 新数据库。
- 点击顶部菜单的 “导入” 选项卡。
- 点击 “选择文件” 按钮,选择你的 数据库备份文件(.sql 文件)。
- 确认文件无误后,点击 “执行” 按钮。
- 等待导入完成,你会看到成功的提示。
- 打开
第四步:修改配置文件以匹配新环境
还原后的网站文件和数据库仍然是“旧”的配置,需要修改以连接到新的数据库。
-
找到配置文件:
- 在你的网站根目录下,找到
data文件夹。 - 在
data文件夹中,找到common.inc.php文件,这是 DedeCMS 的核心配置文件。
- 在你的网站根目录下,找到
-
编辑配置文件:
- 使用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开
common.inc.php文件。 - 修改以下几行关键信息,使其与你 新建的数据库 信息一致:
// 数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库主机名,通常是 localhost $cfg_dbname = '你的新数据库名'; // 你在第三步创建的新数据库名 $cfg_dbuser = '你的新数据库用户名'; // 你在第三步创建的新数据库用户名 $cfg_dbpwd = '你的新数据库密码'; // 你为这个新用户设置的密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,请确保与备份文件中的前缀一致!
- 使用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开
-
检查其他配置(可选):
- 如果你的网站域名或路径发生了变化,你可能还需要修改
common.inc.php中的$cfg_cmspath(CMS安装路径)和include/config_base.php中的相关路径,但这通常不是必须的。
- 如果你的网站域名或路径发生了变化,你可能还需要修改
第五步:完成最终设置与测试
-
恢复目录权限:
- 回到服务器,将你在第二步中设置为 777 的目录(
/data/,/uploads/等)的权限改回更安全的 755(目录)和 644(文件)。
- 回到服务器,将你在第二步中设置为 777 的目录(
-
登录后台检查:
- 访问你的网站后台地址(通常是
http://yourdomain.com/dede/)。 - 使用你原来的管理员账号和密码登录。
- 检查网站是否正常,
- 能否正常打开首页?
- 管理”-“所有文章”,检查文章是否都回来了?
- 进入“系统”-“系统基本参数”,检查各项配置是否正确。
- 访问你的网站后台地址(通常是
-
清理缓存:
- 在后台“系统”-“SQL命令运行工具”中,执行以下命令来清理缓存(如果发现页面显示异常):
DELETE FROM `#@__arccache`;
- 或者直接通过 FTP 删除
/data/cache/目录下的所有缓存文件。
- 在后台“系统”-“SQL命令运行工具”中,执行以下命令来清理缓存(如果发现页面显示异常):
-
更新网站(可选但推荐):
如果你的备份是一个旧版本的 DedeCMS,为了安全性和性能,建议在还原后,将程序文件更新到最新的稳定版本。
常见问题与解决方案
-
问题1:网站首页能打开,但打开文章页或栏目页时提示“Fatal error”或“页面不存在”。
- 原因:通常是数据库配置文件
common.inc.php中的$cfg_dbprefix(数据库表前缀)不正确。 - 解决:检查你的
.sql备份文件,看表名是什么前缀(如dede_archives,dede_arctype),然后在common.inc.php中确保$cfg_dbprefix设置成完全一样的前缀。
- 原因:通常是数据库配置文件
-
问题2:后台登录后,页面布局错乱,样式丢失。
- 原因:通常是
/templets/目录权限问题,或者缓存文件损坏。 - 解决:检查
/templets/目录权限是否为 755,如果不行,尝试清理/data/cache/目录下的缓存文件。
- 原因:通常是
-
问题3:还原后,网站无法访问,或出现 500 内部服务器错误。
- 原因:通常是
.htaccess文件冲突、目录权限错误,或者common.inc.php数据库信息写错。 - 解决:
- 暂时将根目录下的
.htaccess文件改名(如.htaccess.bak),看看是否恢复正常。 - 检查所有目录权限是否正确。
- 仔细核对
common.inc.php中的数据库信息。
- 暂时将根目录下的
- 原因:通常是
整站还原的核心流程是 “清空环境 -> 还原程序 -> 还原数据库 -> 修改配置 -> 测试”,遵循这个流程,并做好备份,就能最大程度地保证还原工作的成功。
