核心概念
- 数据库备份文件:通常是一个以
.sql为后缀的文本文件,它包含了重建你网站数据库所需的所有CREATE TABLE(创建表)和INSERT INTO(插入数据)等SQL语句。 - 还原:就是把这个
.sql文件的内容“执行”一遍,让数据库服务器根据里面的指令,重新创建数据表并填入数据。
使用DedeCMS自带的“数据库备份/还原”功能(最推荐)
这是最直接、最安全的方法,因为它在后台操作,权限和路径都已配置好。

前提条件:
- 已安装DedeCMS:你的新网站环境(服务器、PHP、MySQL)已经安装好了DedeCMS程序。
- 有备份文件:你有一个
.sql格式的数据库备份文件。 - 知道新数据库信息:你需要知道新网站的数据库主机名、用户名、密码和数据库名。
操作步骤:
-
登录DedeCMS后台 用你的管理员账号登录到网站的织梦后台。
-
进入数据库管理工具 在后台左侧菜单中,找到并点击 “系统” -> “数据库备份/还原”。
-
选择还原功能 在打开的页面中,你会看到“数据备份”和“数据还原”两个选项卡,点击 “数据还原” 选项卡。
-
上传备份文件
(图片来源网络,侵删)- 在“数据还原”页面,找到 “请选择要还原的SQL文件” 的输入框。
- 点击 “浏览...” 按钮,选择你本地的
.sql备份文件。 - 重要:请确保你上传的是完整的数据库备份文件,而不是仅某个表的备份。
-
执行还原
- 选择好文件后,点击 “开始还原” 按钮。
- 系统会开始执行SQL语句,如果你的数据库很大,这个过程可能需要几分钟到几十分钟不等,请耐心等待,不要刷新或关闭页面。
- 页面上通常会显示一个进度条或执行日志,让你了解还原的进度。
-
完成与验证
- 当看到“还原成功!”或类似的提示信息后,说明数据库还原完成。
- 验证:访问你的网站首页,查看文章、栏目、会员等数据是否正常显示,登录后台,检查各项功能是否正常。
使用phpMyAdmin手动导入(当后台方法不可用时)
如果你的DedeCMS后台无法使用(例如程序文件损坏),或者你习惯使用更强大的数据库管理工具,可以使用phpMyAdmin。
前提条件:
- 你的服务器上安装了phpMyAdmin。
- 你知道新数据库的 主机名、用户名、密码和数据库名。
- 你有
.sql备份文件。
操作步骤:
-
登录phpMyAdmin 通过你的服务器控制面板(如cPanel、Plesk)或直接访问
http://你的域名/phpmyadmin来登录phpMyAdmin。
(图片来源网络,侵删) -
选择目标数据库 登录后,在左侧的数据库列表中,点击你DedeCMS网站要还原到的那个数据库名。
-
导入数据库
- 在顶部导航栏中,点击 “导入” 选项卡。
- 在“从磁盘选择”部分,点击 “选择文件” 按钮,选择你的
.sql备份文件。 - 高级选项(可选):
- 格式:通常保持默认的“SQL”即可。
- 部分导入:如果你的文件很大,可以勾选“从第...行开始导入”,但这通常不需要。
- 字符集:非常重要! 请确保选择与你备份数据库时相同的字符集,通常是
utf8mb4或utf8,如果选错,可能会导致中文乱码。
- 点击 “执行” 按钮。
-
等待完成 phpMyAdmin会开始执行导入,同样,大文件需要一些时间,页面会显示进度和结果。
-
验证 导入完成后,回到phpMyAdmin的“数据库”页面,点击你的数据库名,然后点击“表”,你应该能看到所有DedeCMS的表(如
dede_archives,dede_arctype等)都存在了,然后访问网站进行验证。
使用命令行导入(适合服务器管理员或VPS/云服务器用户)
对于有服务器命令行操作经验的用户,这种方法效率最高。
前提条件:
- 你有服务器的SSH访问权限。
- 你知道MySQL的 用户名 和 密码。
- 你知道 数据库名。
- 你的
.sql备份文件已经上传到服务器上(例如通过scp或sftp上传到/home/username/backup/目录)。
操作步骤:
-
登录SSH 使用SSH工具(如PuTTY, MobaXterm)登录到你的服务器。
-
执行导入命令 使用以下命令格式:
mysql -u [数据库用户名] -p[数据库密码] [数据库名] < [备份文件路径]
示例: 假设:
- 数据库用户名:
dede_user - 数据库密码:
your_strong_password - 数据库名:
dede_db - 备份文件路径:
/home/backup/website_20251001.sql
那么命令就是:
mysql -u dede_user -pyour_strong_password dede_db < /home/backup/website_20251001.sql
注意:
-p和密码之间没有空格。 - 数据库用户名:
-
输入密码并等待 如果你的命令格式正确,输入回车后,系统会开始执行导入,同样,大文件需要时间,完成后,命令行会返回到提示符状态,没有错误信息通常就代表成功。
-
验证 登录网站进行验证。
⚠️ 重要注意事项
-
备份新数据库! 在执行任何还原操作之前,请务必将新数据库(即使它是空的)先备份一次,以防万一你的备份文件有问题,可以有一个退路。
-
字符集必须一致 这是最常见的问题,确保你的备份数据库、新数据库、以及还原工具(phpMyAdmin)的字符集设置是一致的,通常是
utf8mb4_unicode_ci,否则,99%的可能性会导致中文变成乱码( 或 等)。 -
覆盖 vs. 合并
- 还原操作是完全覆盖的,它会先删除目标数据库中所有的表,然后根据备份文件重新创建,这意味着,如果你在还原前对数据库做了任何修改,这些修改都会丢失。
- 如果你只想恢复某个表,可以在phpMyAdmin中单独导入该表的
.sql文件。
-
文件权限 确保Web服务器(如Apache或Nginx)对DedeCMS的
data目录有正确的读写权限,否则即使数据库还原成功,网站也无法正常写入数据(如发布文章、上传图片等)。 -
配置文件
config.php数据库还原后,请务必检查并确保你网站根目录下的/data/common.inc.php文件中的数据库连接信息是正确的,在迁移或更换服务器时,这个文件通常是需要手动修改的。//数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库主机 $cfg_dbname = 'dede_db'; // 数据库名 $cfg_dbuser = 'dede_user'; // 数据库用户名 $cfg_dbpwd = 'your_password'; // 数据库密码
希望这份详细的指南能帮助你成功还原DedeCMS数据库!
