首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

DedeCMS 網站搬家完整指南:資料庫備份還原與檔案遷移步驟詳解

     編輯:PHP 綜合知識

前言

DedeCMS(織夢)搬家看似簡單,實則暗藏「資料庫版本不符、編碼亂碼、路徑殘留、權限不足」等坑。本文整理官方推薦流程、進階遷移技巧、常見問題對策,確保 100% 成功遷移。

一、 核心原則

  1. 版本一致: 新舊環境 DedeCMS 版本、MySQL 版本(4.0/4.1/5.x 分界)必須一致。
  2. 表前綴一致: 安裝時資料庫表前綴(預設 dede_)務必相同。
  3. 編碼一致: 備份時注意字符集,還原時指定相同編碼(通常 gbk 或 utf8)。
  4. 後台帳號密碼: 還原資料庫後,後台登入帳密以備份時為準。

二、 官方標準遷移流程(推薦,適合多數場景)

1. 舊站後台備份資料庫

  • 進入「系統」→「資料庫備份/還原」→ 全選 → 「開始備份」。
  • 備份檔案生成於 data/backupdata/(或後台設定目錄),為多個 .txt 檔案。

2. 下載舊站關鍵檔案

僅需下載以下目錄(不含 include/config_base.php、data/common.inc.php 等配置檔):

  • templets/(模板)
  • uploads/ 或 upimg/(附件/圖片)
  • plus/(外掛/專題)
  • images/(前台圖片)
  • data/backupdata/(剛備份的資料庫檔案)
  • special/(專題模板,如有)

3. 新空間全新安裝同版本 DedeCMS

  • 下載官方同版本安裝包,上傳 install/ 目錄執行安裝。
  • 資料庫資訊填寫新空間的(主機、用戶、密碼、資料庫名)。
  • 表前綴務必與舊站一致(預設 dede_)。
  • 安裝完成後刪除 install/ 目錄。

4. 覆蓋檔案與還原資料庫

  • 將步驟 2 下載的檔案上傳覆蓋到新站對應目錄。
  • 進入新站後台 → 「系統」→「資料庫備份/還原」→ 「資料還原」→ 全選 → 「開始還原」。
  • 還原完成後,「系統」→「系統基本參數」→ 檢查站點根網址、附件路徑等 → 保存。
  • 「生成」→「更新主頁 HTML」→「更新欄目 HTML」→「更新文檔 HTML」→ 全站重新生成。

三、 進階方案:phpMyAdmin 直接遷移(適合後台無法進入、資料庫較小 <20MB)

  1. 舊空間 phpMyAdmin 匯出資料庫(SQL 檔)。
  2. 新空間 phpMyAdmin 匯入 SQL。
  3. 修改新站 data/common.inc.php 連線資訊(主機、用戶、密碼、資料庫名、前綴)。
  4. 上傳舊站 templets/, uploads/, plus/, images/ 等目錄覆蓋。
  5. 後台重新生成全站。

注意: 部分虛擬主機限制 SQL 匯入 < 20MB,大資料庫請用官方備份還原(分卷)或命令列 mysql -u... -p... db < backup.sql。

四、 常見問題與解決

問題原因解決
後台亂碼資料庫編碼不一致(舊 gbk 新 utf8 或反之)備份時選正確編碼;還原時 phpMyAdmin/命令列指定 SET NAMES gbk;或修改 include/config_base.php $cfg_db_language
前台顯示「無此欄目」/404欄目未生成、路徑錯誤、資料庫還原不全後台「更新欄目緩存」→「更新文檔 HTML」;檢查 dede_arctype 資料
附件/圖片不顯示uploads/ 未遷移、權限 755/777、路徑配置錯遷移目錄;chmod -R 755 uploads;後台「系統參數」檢查附件路徑
後台登入失敗資料庫還原後帳密變為備份時帳密使用備份時的管理員帳密登入
MySQL 版本不符報錯舊 5.6 新 5.7/8.0,SQL 模式/語法差異盡量同版本;或備份前 SET sql_mode='',還原後調整

五、 官方教程關鍵點補充

「不同虛擬主機空間的 mysql 資料庫名稱是各不相同的(因為其前綴不一樣的),所以要首先備份資料庫,然後放到新空間還原,再重新生成 html 即可。」

「新空間重新安裝同一版本的 dedecms 系統時,資料庫名稱和資料庫用戶名和密碼當然是填新數據庫的了,設置的資料庫表的前綴必須和原數據庫表的前綴一致,以免看不到內容。」

「資料庫恢復後,後台登陸用戶名和密碼要使用備份前原網站後台的登陸用戶名和密碼。」

六、 自動化遷移腳本建議

若頻繁遷移,可編寫 Shell/PHP 腳本自動化:

#!/bin/bash
# 1. 打包舊站檔案(排除配置)
tar --exclude='data/common.inc.php' --exclude='include/config_base.php' -czf dedecms_files.tar.gz /var/www/html/

# 2. 備份資料庫
mysqldump -u$user -p$pass --default-character-set=gbk $db > dedecms_db.sql

# 3. 新站解壓、匯入、修改配置、生成靜態(需配合 DedeCMS CLI 生成工具)

結語

DedeCMS 搬家核心在於資料庫備份還原 + 模板附件遷移 + 版本前綴編碼一致 + 全站重新生成。遵循官方標準流程,配合編碼/版本/權限檢查,可將失敗率降至最低。大型站點建議採用主從同步、增量備份、容器化部署等現代化運維體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved