dedecms迁移后栏目和文章丢失恢复方法_数据表完整性校验
dedecms后台自带数据库备份功能,但不少站长对这个功能的使用边界和注意事项并不清楚。小网站用后台一键备份没问题,数据量大的网站直接用后台备份容易超时、中断。本文覆盖从小型站到大型站的全场景备份迁移方案,根据数据库大小选择对应工具,确保数据完整导出导入。
还原数据库有两种方式。方式一用dedecms后台还原:把备份分卷文件上传到新服务器的data/backupdata/目录,登录新服务器的dedecms后台,进入「系统」-「数据库备份/还原」,点击「数据还原」,选择对应备份批次,点击「开始还原数据」即可。
在新服务器上先搭建好dedecms运行环境,PHP版本建议与原服务器一致或更高,MySQL版本同样需要兼容。创建新数据库并记录数据库名、用户名、密码、数据库地址这四项信息,后续配置文件需要用到。
数据库还原完成后,必须修改data/common.inc.php配置文件中的数据库连接信息。用文本编辑器打开这个文件,找到$cfg_dbhost、$cfg_dbname、$cfg_dbuser、$cfg_dbpwd这四个变量,分别替换为新服务器的数据库地址、数据库名、用户名、密码,保存后上传覆盖。
dedecms的缓存文件需要在迁移后全部清理。进入data目录,删除cache、tplcache、sessions这三个子目录下的所有文件,保留目录本身。缓存中保存了旧服务器的路径信息和编译后的模板,不清理会导致页面显示异常或路径错误。
迁移后网站打不开,提示数据库连接失败,90%的原因是data/common.inc.php中的数据库信息填写错误。仔细核对数据库地址是否为localhost还是独立IP,数据库名和用户名是否包含前缀,密码是否有特殊字符需要转义。逐项排查后基本能解决连接问题。
还原数据时提示「表已存在」,是因为目标数据库中已有同名数据表。解决方法是先清空目标数据库中的所有表,再执行还原操作。在phpmyadmin中可以批量选中所有表,选择「删除」操作清空。清空后再导入备份数据就不会出现表已存在的报错。
迁移后图片全部不显示,原因是uploads附件目录没有完整上传,或者附件路径配置错误。先检查uploads目录是否存在且包含所有图片文件,再检查后台系统参数中的「附件保存位置」是否正确。如果更换了域名,文章内容中的图片地址可能还是旧域名,需要用SQL批量替换。
进入备份页面后,系统会列出当前数据库所有数据表,默认全选。站长可以根据需求勾选需要备份的表,核心业务表包括dede_archives文章主表、dede_arctype栏目表、dede_addonarticle文章附加表、dede_member会员表、dede_admin管理员表,这些表必须勾选。
登录dedecms后台,进入左侧菜单「系统」-「SQL命令行工具」可以先执行数据库版本查询,确认当前mysql环境信息。备份操作正式入口在「系统」-「数据库备份/还原」,这个模块是dedecms自带的数据导出工具。
备份选项中「分卷大小」建议设置为2048KB即2MB一卷,数据库超过50MB时建议设为4096KB。分卷的好处是避免单次导出文件过大导致下载失败,同时还原时也更稳定。「备份表结构」和「备份表数据」两个选项都要勾选,缺一不可。
站长实操反馈:「按照这套步骤把dedecms站从老虚拟主机迁到阿里云,数据库200多MB,用phpmyadmin分卷导入一次成功,栏目文章附件全部正常,没有丢数据」「之前自己迁移老是图片不显示,这次按文中说的检查uploads目录和路径配置,问题很快定位到了」。
操作提示:备份前确认网站空间剩余容量足够存放备份文件,数据库100MB的站备份文件约30MB到50MB。迁移完成后务必测试前台页面访问、栏目列表、文章详情、图片显示、后台登录、会员登录、发布文章这7项核心功能,全部正常才算迁移成功。任何一项异常都要排查修复后再正式切换。

更新时间:2026-08-27 13:12:32