在DedeCMS中,所谓的“数据库文件”通常不是指一个单一的文件,而是指数据库的结构(数据表)和数据库中的数据(内容),它们分别由不同类型的文件来定义和管理。

(图片来源网络,侵删)
我将从以下几个方面为您详细说明:
- 数据库结构文件 (
.sql文件) - 文件
- 数据库配置文件 (
common.inc.php) - 如何使用这些文件
- 备份与恢复的最佳实践
数据库结构文件 (.sql 文件)
这是DedeCMS数据库的“骨架”或“蓝图”,它定义了网站运行所需的所有数据表(如dede_archives文章表、dede_arctype栏目表等)以及每个数据表中包含哪些字段(如id、title、typeid等)。
位置:
这些文件通常位于DedeCMS的安装包中,您可以在以下路径找到它们:
dede/install/目录下:这是安装程序所使用的SQL文件,用于在首次安装时创建数据库结构。dede/data/目录下:有时这里会存放一些用于升级或修复的SQL文件。
主要文件:
dede.sql或dede_v573_sql(版本号可能不同):这是最核心的数据库结构文件,包含了所有主要的数据表定义。 示例 (片段): 一个.sql是纯文本的SQL语句,创建文章表的片段可能如下:CREATE TABLE `dede_archives` ( `id` int(11) NOT NULL auto_increment, `typeid` int(11) NOT NULL default '0', `typeid2` int(11) NOT NULL default '0', `sortrank` int(11) NOT NULL default '0', `flag` set `'c','h','p','f','s','j','a','b','d'` NOT NULL default '', `ismake` char(10) NOT NULL default 'y', `channel` int(11) NOT NULL default '1', `arcrank` int(11) NOT NULL default '0', `click` int(11) NOT NULL default '0', `money` smallint(6) NOT NULL default '0', varchar(255) NOT NULL default '', `shorttitle` varchar(255) NOT NULL default '', ... `senddate` int(11) NOT NULL default '0', `mid` int(11) NOT NULL default '1', PRIMARY KEY (`id`), KEY `sortrank` (`sortrank`), KEY `typeid` (`typeid`), KEY `ismake` (`ismake`), KEY `channel` (`channel`), KEY `arcrank` (`arcrank`), KEY `senddate` (`senddate`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
这个
CREATE TABLE语句就定义了dede_archives这个表的结构。
(图片来源网络,侵删)
文件
这是DedeCMS数据库的“血肉”,即您网站上的所有实际数据,包括:
- :存储在
dede_archives、dede_addonarticle等表中。 - 栏目分类:存储在
dede_arctype表中。 - 会员信息:存储在
dede_member、dede_member_space等表中。 - 系统配置:存储在
dede_sysconfig表中。 - 附件、链接、评论等所有动态内容。
这些数据不会以文件形式直接存在于网站目录中,它们是动态存储在MySQL数据库服务器上的。
- 如何获取数据内容?
- 数据库备份:通过phpMyAdmin等数据库管理工具,将整个数据库或选中的数据表导出为
.sql文件,这个导出的文件既包含结构也包含数据,是网站最完整的备份。
- 数据库备份:通过phpMyAdmin等数据库管理工具,将整个数据库或选中的数据表导出为
数据库配置文件 (common.inc.php)
这是连接您的网站程序和数据库的“桥梁”,它告诉DedeCMS数据库服务器的地址、用户名、密码和数据库名称。
位置:
/data/common.inc.php
示例:

(图片来源网络,侵删)
<?php //数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库服务器地址 $cfg_dbname = 'dedecmsv573'; // 数据库名称 $cfg_dbuser = 'root'; // 数据库用户名 $cfg_dbpwd = 'your_password'; // 数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀 $cfg_db_language = 'utf8'; // 数据库编码 ?>
$cfg_dbprefix:这个变量非常重要,很多用户在安装时会修改它(如改为abc_)来避免与其他网站的表冲突,在备份数据或迁移网站时,必须确保这个前缀正确。
如何使用这些文件
理解了以上文件的作用后,我们来看看它们最常见的使用场景。
全新安装DedeCMS
- 下载DedeCMS安装包。
- 解压并上传到服务器。
- 通过浏览器访问
/install/目录。 - 在安装向导中,填写数据库信息(主机、用户名、密码、数据库名)。
- 安装程序会自动读取
dede/install/目录下的.sql文件,在您指定的数据库中创建数据表结构。 - 完成安装后,
/install/目录最好删除,以防安全风险。
网站迁移(从A服务器到B服务器)
这是最常见的需求,你需要同时移动网站文件和数据库。
步骤:
-
导出数据库(从A服务器):
- 登录A服务器的phpMyAdmin。
- 选择你的DedeCMS数据库。
- 点击“导出”。
- 选择“快速”或“自定义”,确保勾选了“添加
DROP TABLE/VIEW/PROCEDURE/FUNCTION”选项(这有助于覆盖目标数据库)。 - 格式选择“SQL”,然后点击“执行”,将整个数据库导出为一个
.sql文件。
-
下载网站文件(从A服务器):
使用FTP或SSH工具,将A服务器上DedeCMS网站根目录下的所有文件下载到本地。
-
上传网站文件(到B服务器):
将下载的网站文件上传到B服务器的网站根目录。
-
修改数据库配置文件(在B服务器):
- 编辑B服务器上
/data/common.inc.php文件。 - 将数据库信息(主机、用户名、密码、数据库名)修改为B服务器的正确信息。表前缀
$cfg_dbprefix必须和A服务器保持一致。
- 编辑B服务器上
-
导入数据库(到B服务器):
- 登录B服务器的phpMyAdmin。
- 创建一个新的、空的数据库(数据库名可以和A服务器不同)。
- 选择这个新创建的数据库。
- 点击“导入”。
- 选择你从A服务器导出的那个
.sql文件,然后点击“执行”。
-
完成:你的网站就已经完整地从A服务器迁移到了B服务器。
备份与恢复的最佳实践
定期备份是网站运维的生命线!
备份什么?
- 网站程序文件:通过FTP打包下载整个网站目录。
- 完整数据库:通过phpMyAdmin导出整个数据库,选择“SQL”格式,并勾选“添加
DROP TABLE/VIEW/PROCEDURE/FUNCTION”。
如何备份?
- 手动备份:定期(如每周)执行上述下载和导出操作,将文件和SQL包保存到本地或云盘。
- 自动备份:
- 服务器端脚本:在服务器上设置一个定时任务(如使用
cron),执行一个脚本,该脚本使用mysqldump命令备份数据库,并用tar命令打包网站文件。 - 面板插件:如果你的服务器使用宝塔面板、cPanel等,它们通常内置了“定时备份”功能,可以设置定时备份数据库和网站文件,并支持发送到邮箱或FTP。
- 服务器端脚本:在服务器上设置一个定时任务(如使用
如何恢复?
恢复过程与迁移过程类似,只是目标服务器就是当前服务器。
- 上传备份的网站文件到网站根目录,覆盖原有文件(或先删除旧文件)。
- 编辑
/data/common.inc.php,确保数据库配置正确。 - 在phpMyAdmin中,先清空(或删除)当前数据库的所有表,然后导入你备份的
.sql文件。
| 文件/组件 | 作用 | 位置 | 关键点 |
|---|---|---|---|
.sql 结构文件 |
定义数据库表结构(骨架) | dede/install/ |
用于首次安装或修复数据库结构 |
| 数据库数据 | 存储网站所有内容(血肉) | MySQL服务器 | 通过phpMyAdmin等工具导出为.sql文件进行备份 |
common.inc.php |
连接网站与数据库的配置 | /data/ |
包含数据库连接信息,迁移时必须修改 |
| 网站程序文件 | PHP代码、模板、静态资源 | 网站根目录 | 需要定期FTP打包备份 |
希望这份详细的解释能帮助您全面了解DedeCMS的数据库文件!
