帝国 CMS 数据导入导出

juming
juming 初级会员超兽战士
发布于 2026-10-08 17:04 ·1 浏览 ·0 回复

学完这篇你能自己完成帝国CMS 7.5 的整站数据导出备份、跨服务器恢复导入,以及只迁某张内容表的精细操作,不用再到处找插件。

第一步:先分清你要导的是哪一层

帝国CMS(7.5,UTF-8 版)的数据分三块,导错层会白折腾:

  • 整站搬迁 → 用后台「备份与恢复数据」,最省事。
  • 只搬某个栏目的文章表 → 用命令行 mysqldump 导单张表。
  • 只补几十上百条内容 → 后台「执行 SQL」或 phpMyAdmin 导 CSV。

记住默认表前缀是 phome_。新闻模型的核心表是 phome_ecms_news(主表)、phome_ecms_news_data_1(存放正文的副表)、phome_ecms_news_index(索引表),附件路径记录在 phome_enewsfile_1 里。这几个表最好一起动。

第二步:在源站用后台备份导出

进入后台 → 顶部菜单「系统」→ 左侧「备份与恢复数据」→「备份数据」。页面上:

  1. 备份范围选「备份全部数据表」(换服务器时选它),或手动勾选要导的表;
  2. 「每卷大小」默认 2048 KB,数据库超过 200 MB 建议改小到 1024,避免 PHP 超时中断;
  3. 数据库编码按你站点实际编码选,UTF-8 站点选 utf8;
  4. 点「开始备份」。备份文件会生成在 e/data/backupdata/ 下,按时间命名的目录里。

注意:不要用浏览器直接下载 e/data/backupdata/ 里的文件,用 FTP 或宝塔面板把这个目录整体打包下载,目录名要一起保留,恢复时靠它识别。

第三步:在目标站恢复导入

先在目标服务器装一套同版本、同编码的帝国CMS,数据库前缀必须也是 phome_,装完后删掉 install 目录。

  1. 把上一步下载的备份目录整个上传到新站的 e/data/backupdata/;
  2. 后台 →「系统」→「备份与恢复数据」→「恢复数据」;
  3. 在下拉框里选刚上传的备份目录,勾选要恢复的表;
  4. 如果新站是全新安装、自带演示数据,务必勾上「还原前删除原表」,否则主键冲突会导不进去;
  5. 点「开始恢复」。

如果源站有附件,还要用 FTP 把源站 d/file/ 整个目录覆盖到新站同位置——数据库里只存路径,图片不会跟着 SQL 走。

注意:源站和新站的帝国CMS 版本号必须一致(都在后台首页右下角能看到,比如 7.5),跨大版本直接还原表结构经常报错。

第四步:只导一张内容表,用 mysqldump

在源站服务器命令行执行,导出新闻主表:

mysqldump -u 数据库用户 -p --default-character-set=utf8 --single-transaction phome phome_ecms_news > /tmp/news.sql

把 news.sql 传到新服务器后导入:

mysql -u 数据库用户 -p --default-character-set=utf8 phome < /tmp/news.sql

注意:--default-character-set=utf8 两边都要写,写错会出现整站中文变问号;导入前确认目标站的 phome_ecms_news 是空的,否则主键重复会中断导入。

第五步:补几十条内容,用后台执行 SQL

后台 →「系统」→「执行 SQL」,把 INSERT 语句粘进去执行即可。数据量大(几千条以上)时改走 phpMyAdmin:选中 phome_ecms_news 表 →「导入」→ 选 CSV → 字符集选 utf-8,并把第一行作为字段名勾上。

注意:手动插 phome_ecms_news 后,phome_ecms_news_data_1 和 phome_ecms_news_index 里没有对应记录,前台内容页会打不开。更稳的做法是用后台「信息管理」里的批量添加,或走采集功能。

第六步:导入后必须做的三件事

  1. 「系统」→「数据更新」→「刷新所有缓存」;
  2. 「系统」→「数据更新」→「更新所有栏目页」和「更新所有内容页」;
  3. 「系统」→「数据表与系统模型」→「管理数据表」,核对每张表的记录条数和源站是否一致。

小结

  • 整站搬迁走「系统 → 备份与恢复数据」的备份/恢复,附件目录 d/file/ 单独传;
  • 单表迁移用 mysqldump,前后加 --default-character-set=utf8;
  • 表前缀、CMS 版本、数据库编码三者必须一致;
  • 全新站恢复要勾「还原前删除原表」,避免主键冲突;
  • 导完必须刷新缓存并更新栏目页、内容页,否则前台看不到变化。
版权声明:本文来自 GJ站长论坛《帝国 CMS 数据导入导出》
原文链接:https://www.gj0.com/thread-1068.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~