下面我将为您提供一个详细、分步的 DedeCMS 数据库转移指南,涵盖两种主要场景:更换服务器(IP/系统变更) 和 更换域名。

核心操作步骤(适用于所有场景)
无论您是更换服务器还是域名,以下四个核心步骤都是必不可少的:
- 备份原网站文件:确保您有完整的网站程序文件备份。
- 导出原数据库:将旧网站的所有数据(内容、会员、设置等)导出为
.sql文件。 - 上传新网站文件:将备份的网站文件上传到新服务器的指定目录。
- 导入数据库到新环境:将导出的
.sql文件导入到新服务器的数据库中。
更换服务器(IP/操作系统变更)
这种情况相对简单,因为网站的域名没有改变,数据库的连接信息(主机名、用户名、密码)需要根据新服务器的配置进行更新。
详细步骤:
第 1 步:备份原网站文件
- 通过 FTP 或 SSH 连接到您的旧服务器。
- 将整个 DedeCMS 网站目录(通常是
dede文件夹所在的目录)下载到您的本地电脑。
第 2 步:导出原数据库

- 登录您旧服务器的数据库管理工具(如 cPanel 的 phpMyAdmin、或直接通过 SSH 登录 MySQL)。
- 选择 DedeCMS 所在的数据库。
- 点击“导出”按钮。
- 格式选择:务必选择 “SQL” 格式。
- 选项设置:
- “导出” 选项卡:确保勾选了“
结构”和“数据”。 - “SQL” 选项卡:将“
格式化输出”设置为“完整”,这样可以生成兼容性更好的 SQL 文件。
- “导出” 选项卡:确保勾选了“
- 点击“执行”,将
.sql文件下载到本地。
第 3 步:配置新服务器环境
- 购买新服务器并完成基础配置(安装 Web 服务如 Nginx/Apache、PHP、MySQL/MariaDB)。
- 创建数据库和用户:
- 登录新服务器的数据库管理工具(如 cPanel 的 phpMyAdmin)。
- 创建一个新的数据库,
new_dedecms_db。 - 创建一个新的数据库用户,
new_user。 - 为该用户授予对新数据库的“所有权限”。
- 记录下以下信息:
- 数据库名:
new_dedecms_db - 数据库用户名:
new_user - 数据库密码:
your_new_password - 数据库主机: 通常是
localhost或0.0.1
- 数据库名:
第 4 步:上传新网站文件
- 通过 FTP 或 SSH 将您在第 1 步下载的网站文件上传到新服务器的网站根目录。
第 5 步:导入数据库
- 登录新服务器的数据库管理工具(phpMyAdmin)。
- 选择您在第 3 步创建的新数据库
new_dedecms_db。 - 点击“导入”按钮。
- 选择您在第 2 步下载的
.sql文件。 - 点击“执行”,等待数据库导入完成。
第 6 步:修改数据库配置文件

这是最关键的一步,告诉 DedeCMS 新的数据库连接信息。
-
在新服务器的网站文件中,找到并编辑
data/common.inc.php文件。 -
修改以下几行代码,使其与您在第 3 步记录的新数据库信息一致:
//数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库主机,通常是 localhost $cfg_dbname = 'new_dedecms_db'; // 新的数据库名 $cfg_dbuser = 'new_user'; // 新的数据库用户名 $cfg_dbpwd = 'your_new_password'; // 新的数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,如果没改过,保持原样 $cfg_db_language = 'gbk'; // 数据库字符集,通常与原站一致
第 7 步:设置目录权限
- 通过 FTP 或 SSH 连接到新服务器,确保以下目录具有正确的写入权限(通常是 755 或 777,但 755 更安全):
/data/目录/uploads/目录及其所有子目录/templets/目录(如果启用了模板在线编辑)/special/目录/arclist/目录/html/目录(如果开启了静态页)
第 8 步:清空缓存并访问
- 登录新网站的 DedeCMS 后台。
- 进入 “系统” -> “SQL命令行工具”。
- 在命令框中输入
DELETE FROM dede_arccache;(请根据你的表前缀修改dede_),然后点击“查询”,这可以清空所有文章缓存,避免旧数据影响。 - 清除浏览器缓存,然后通过您的域名访问新网站,检查是否一切正常。
更换域名
更换域名比更换服务器多了一个关键步骤:替换数据库中所有旧的域名,如果只修改配置文件,网站内容里的链接、图片路径等仍然会指向旧域名,导致页面错乱。
详细步骤:
第 1 步至第 5 步 与 场景一 完全相同,请先完成这些步骤。
第 6 步:修改数据库配置文件
-
和场景一一样,编辑
data/common.inc.php文件。 -
除了修改数据库连接信息,必须修改网站的主域名:
//网站首页位置 $cfg_cmsurl = 'http://www.your-new-domain.com'; // 修改为你的新域名
第 7 步:批量替换数据库中的旧域名
这是更换域名的核心,直接在数据库里进行全局替换。
-
登录新服务器的数据库管理工具(phpMyAdmin)。
-
选择您导入的新数据库。
-
点击顶部的 “SQL” 选项卡,进入 SQL 命令行界面。
-
执行以下 SQL 语句,将
www.old-domain.com替换为您的www.your-new-domain.com。-- 替换文章内容中的旧域名 UPDATE dede_archives SET body = REPLACE(body, 'http://www.old-domain.com', 'http://www.your-new-domain.com'); -- 替换文章附加表中的旧域名(如图片集) UPDATE dede_addonarticle SET body = REPLACE(body, 'http://www.old-domain.com', 'http://www.your-new-domain.com'); -- 替换自定义栏目中的旧域名 UPDATE dede_arctype SET typename = REPLACE(typename, 'www.old-domain.com', 'www.your-new-domain.com'); UPDATE dede_arctype set crossid = REPLACE(crossid, 'www.old-domain.com', 'www.your-new-domain.com'); UPDATE dede_arctype set content = REPLACE(content, 'http://www.old-domain.com', 'http://www.your-new-domain.com'); -- 替换系统配置中的旧域名 UPDATE dede_sysconfig SET value = REPLACE(value, 'http://www.old-domain.com', 'http://www.your-new-domain.com') WHERE varname = 'cfg_cmsurl'; -- 替换友情链接中的旧域名 UPDATE dede_flink SET url = REPLACE(url, 'http://www.old-domain.com', 'http://www.your-new-domain.com'); UPDATE dede_flink SET webname = REPLACE(webname, 'www.old-domain.com', 'www.your-new-domain.com'); -- 替换其他可能包含域名的表(根据你的网站情况增删) -- 文章标题、描述等 UPDATE dede_archives SET title = REPLACE(title, 'www.old-domain.com', 'www.your-new-domain.com'); UPDATE dede_archives SET description = REPLACE(description, 'www.old-domain.com', 'www.your-new-domain.com');
注意:
dede_是默认的表前缀,如果你的网站使用了不同的前缀(如cms_),请务必修改。- 旧域名和新域名的格式要统一,建议都加上
http://或都使用www开头。
第 8 步:修改网站根目录下的 index.php 文件(可选但推荐)
- 打开网站根目录下的
index.php文件。 - 找到类似
$cfg_cmspath的变量,确保它指向的是网站的相对路径,而不是绝对路径,如果它包含旧域名,也在这里替换掉。
第 9 步:设置目录权限、清空缓存并访问
- 这一步与场景一的 第 7 步和第 8 步 完全相同。
常见问题与注意事项
- 字符集问题:确保旧服务器和新服务端的数据库字符集(如
utf8mb4)一致,否则可能出现乱码。 - 表前缀问题:如果新站的数据库表前缀和旧站不同,需要在导入数据库后,手动修改
data/common.inc.php中的$cfg_dbprefix值,或者在导入前就创建好对应前缀的空表。 - 权限问题:新服务器上
data目录的权限至关重要,必须是755,data目录内的文件(如common.inc.php)必须是644,否则网站会报错。 - 静态路径问题:如果网站开启了“生成HTML”,检查后台“系统设置”中的“站点根目录URL”是否正确。
- 安全第一:在执行任何数据库操作前,务必备份数据库,操作后,及时修改后台密码和管理员密码。
- FTP/SFTP 安全:上传下载文件时,尽量使用 SFTP,比 FTP 更安全。
遵循以上步骤,您应该能顺利完成 DedeCMS 的数据库转移工作,祝您操作顺利!
