dede数据库转移,如何操作?

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 DEDE建站 正文

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

dede 数据库转移
(图片来源网络,侵删)

核心操作步骤(适用于所有场景)

无论您是更换服务器还是域名,以下四个核心步骤都是必不可少的:

  1. 备份原网站文件:确保您有完整的网站程序文件备份。
  2. 导出原数据库:将旧网站的所有数据(内容、会员、设置等)导出为 .sql 文件。
  3. 上传新网站文件:将备份的网站文件上传到新服务器的指定目录。
  4. 导入数据库到新环境:将导出的 .sql 文件导入到新服务器的数据库中。

更换服务器(IP/操作系统变更)

这种情况相对简单,因为网站的域名没有改变,数据库的连接信息(主机名、用户名、密码)需要根据新服务器的配置进行更新。

详细步骤:

第 1 步:备份原网站文件

  • 通过 FTP 或 SSH 连接到您的旧服务器。
  • 将整个 DedeCMS 网站目录(通常是 dede 文件夹所在的目录)下载到您的本地电脑。

第 2 步:导出原数据库

dede 数据库转移
(图片来源网络,侵删)
  • 登录您旧服务器的数据库管理工具(如 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
      • 数据库主机: 通常是 localhost0.0.1

第 4 步:上传新网站文件

  • 通过 FTP 或 SSH 将您在第 1 步下载的网站文件上传到新服务器的网站根目录。

第 5 步:导入数据库

  • 登录新服务器的数据库管理工具(phpMyAdmin)。
  • 选择您在第 3 步创建的新数据库 new_dedecms_db
  • 点击“导入”按钮。
  • 选择您在第 2 步下载的 .sql 文件。
  • 点击“执行”,等待数据库导入完成。

第 6 步:修改数据库配置文件

dede 数据库转移
(图片来源网络,侵删)

这是最关键的一步,告诉 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 步 完全相同。

常见问题与注意事项

  1. 字符集问题:确保旧服务器和新服务端的数据库字符集(如 utf8mb4)一致,否则可能出现乱码。
  2. 表前缀问题:如果新站的数据库表前缀和旧站不同,需要在导入数据库后,手动修改 data/common.inc.php 中的 $cfg_dbprefix 值,或者在导入前就创建好对应前缀的空表。
  3. 权限问题:新服务器上 data 目录的权限至关重要,必须是 755data 目录内的文件(如 common.inc.php)必须是 644,否则网站会报错。
  4. 静态路径问题:如果网站开启了“生成HTML”,检查后台“系统设置”中的“站点根目录URL”是否正确。
  5. 安全第一:在执行任何数据库操作前,务必备份数据库,操作后,及时修改后台密码和管理员密码。
  6. FTP/SFTP 安全:上传下载文件时,尽量使用 SFTP,比 FTP 更安全。

遵循以上步骤,您应该能顺利完成 DedeCMS 的数据库转移工作,祝您操作顺利!

-- 展开阅读全文 --
头像
织梦后台如何修改logo?
« 上一篇 04-10
C语言如何转化为XML语言?
下一篇 » 04-10

相关文章

取消
微信二维码
支付宝二维码

目录[+]