DedeCMS(织梦内容管理系统)是一款非常流行的 PHP 开源的网站管理系统,它的后台功能强大,但同时也依赖于数据库来存储所有网站数据,MySQL 就是这个数据库管理系统。

(图片来源网络,侵删)
下面我将从几个核心方面进行讲解:
核心关系:DedeCMS、PHP、MySQL
可以把它们想象成一个餐厅:
- DedeCMS (厨师):这是整个系统的核心,负责所有的业务逻辑,接收用户的菜单请求(访问网站)、按照菜谱(PHP 代码)来处理食材(数据)、生成菜品(网页内容)。
- PHP (厨房和厨具):这是厨师工作的环境和工具,DedeCMS 就是用 PHP 语言编写的,需要在 PHP 环境下运行。
- MySQL (仓库和食材库):这是存放所有食材的地方,所有的文章、产品、会员信息、网站设置等数据,都以结构化的形式存储在 MySQL 数据库中,厨师需要从仓库里取出食材(查询数据),做完菜后还要放回新的食材(插入/更新数据)。
DedeCMS 后台操作的所有内容,本质上都是在操作 MySQL 数据库。
后台如何连接 MySQL?
DedeCMS 后台与 MySQL 的连接信息存储在一个至关重要的配置文件中,这个文件是整个系统的“命脉”。

(图片来源网络,侵删)
配置文件位置
/data/common.inc.php
重要提示:这个文件默认是只读的,并且包含了数据库连接的核心信息,千万不要轻易修改或删除,在修改前,请务必备份。
关键配置项解析
打开 common.inc.php 文件,你会看到以下几行核心代码:
// 数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库服务器地址,通常是 'localhost' $cfg_dbname = 'dedecms_v57'; // 你自己创建的数据库名称 $cfg_dbuser = 'root'; // 数据库用户名 $cfg_dbpwd = 'password'; // 数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,用于区分多个系统使用同一数据库 $cfg_db_language = 'gbk'; // 数据库字符集,建议使用 'utf8' 或 'utf8mb4'
如何理解这些参数?

(图片来源网络,侵删)
$cfg_dbhost:你的 MySQL 服务器地址,如果你在本地电脑上搭建环境,通常是localhost,如果数据库在另一台服务器上,就需要填写服务器的 IP 地址或域名。$cfg_dbname:你在 MySQL 中为 DedeCMS 创建的那个数据库的名字,你创建了一个名为my_website的数据库,这里就应该填my_website。$cfg_dbuser:连接该数据库的用户名。root是 MySQL 的默认管理员。$cfg_dbpwd:对应用户名的密码。这是最敏感的信息,请务必保管好,不要泄露。$cfg_dbprefix:数据表前缀,这是一个非常重要的安全特性,如果你的服务器上同时运行了多个 DedeCMS 网站,使用不同的前缀(如site1_,site2_)可以让它们共用一个数据库而不会互相冲突,安装时建议修改为复杂的字符串。$cfg_db_language:数据库的字符集,为了支持中文,强烈建议设置为utf8或更完善的utf8mb4(可以支持 emoji 表情)。
常见问题与解决方案
在 DedeCMS 后台使用过程中,很多问题都直接或间接与 MySQL 有关。
后台登录时提示“无法登录,请检查你的用户名和是否过期”
可能原因及解决方案:
-
数据库连接错误:最常见的原因。
- 检查:打开
data/common.inc.php文件,确认$cfg_dbhost,$cfg_dbname,$cfg_dbuser,$cfg_dbpwd这四项是否完全正确。 - 解决:确保用户名和密码正确,并且该用户有权限访问你指定的数据库
$cfg_dbname。
- 检查:打开
-
管理员密码错误或被篡改。
- 解决:忘记密码时,可以通过修改数据库来重置,进入 phpMyAdmin,找到你的数据库,找到
dede_admin表(dede_是你的前缀),找到admin这条记录,将pwd字段的值修改为21232f297a57a5a743894a0e4a801fc3(这是admin这个用户名对应的 MD5 密码),然后尝试用admin/123456登录。
- 解决:忘记密码时,可以通过修改数据库来重置,进入 phpMyAdmin,找到你的数据库,找到
-
data目录权限问题。- 检查:
data目录及其下的所有文件和子目录,必须拥有可写权限(Linux 环境下通常为755或777,777有安全风险,建议先尝试755)。 - 解决:通过 FTP 或 SSH 工具修改
data目录的权限,在宝塔面板等可视化环境中,可以直接在文件管理器中修改。
- 检查:
后台打开空白,或者提示“Fatal error: Call to undefined function ...”
可能原因及解决方案:
-
PHP 环境缺失或配置错误。
- 检查:DedeCMS 需要 PHP 环境,可能是 PHP 没有安装,或者某些必要的 PHP 扩展(如
mysqli或pdo_mysql)没有开启。 - 解决:检查你的 PHP 环境,确保 PHP 正常运行,并且开启了
mysqli或pdo_mysql扩展,在php.ini文件中找到extension=mysqli和extension=pdo_mysql,去掉前面的分号 。
- 检查:DedeCMS 需要 PHP 环境,可能是 PHP 没有安装,或者某些必要的 PHP 扩展(如
-
MySQL 服务未启动。
- 检查:服务器上的 MySQL 数据库服务是否正在运行。
- 解决:重启 MySQL 服务,在 Linux 上可以用
systemctl restart mysqld,在 Windows 上可以通过服务管理器重启。
网站前台和后台都出现乱码
可能原因及解决方案:
- 数据库字符集不统一:这是最常见的原因。
- 检查:检查三个地方的字符集是否一致:
- MySQL 数据库的默认字符集。
- 数据库中表的字符集。
common.inc.php文件中的$cfg_db_language。
- 解决:最稳妥的方法是重新安装一次 DedeCMS,在安装时选择
utf8字符集,如果已有数据,可以使用 phpMyAdmin 的“导出”和“导入”功能,在导出时选择utf8编码,再导入到新的utf8数据库中。
- 检查:检查三个地方的字符集是否一致:
如何备份和恢复 MySQL 数据库?
这是网站管理员必须掌握的技能。
备份方法:
-
使用 DedeCMS 后台自带的备份功能(推荐新手):
- 登录 DedeCMS 后台。
- 进入【系统】-> 【数据库备份/还原】。
- 点击【开始备份】,选择要备份的表(全选即可),然后提交,系统会生成一个
.sql文件,并保存在/data/backupdata/目录下,记得定期把这个文件夹下载到本地电脑。
-
使用 phpMyAdmin(最常用):
- 登录你的虚拟主机控制面板(如 cPanel、宝塔面板),找到 phpMyAdmin。
- 选择你的 DedeCMS 数据库。
- 点击顶部的【导出】选项卡。
- 选择【快速】或【自定义】,在“格式”中选择
SQL。 - 点击【执行】,浏览器就会自动下载一个
.sql备份文件。
恢复方法:
-
使用 DedeCMS 后台自带的还原功能:
- 进入【系统】-> 【数据库备份/还原】。
- 点击【浏览】,选择你之前备份的
.sql文件。 - 点击【开始还原】。
-
使用 phpMyAdmin(最常用):
- 登录 phpMyAdmin。
- 选择你的 DedeCMS 数据库。
- 点击顶部的【导入】选项卡。
- 点击【选择文件】,找到你本地的
.sql备份文件。 - 点击【执行】,等待导入完成。
安全建议
MySQL 的安全直接关系到整个网站的安全。
- 修改默认前缀:安装 DedeCMS 时,不要使用默认的
dede_作为表前缀,修改为一段随机字符串。 - 使用强密码:数据库用户名和密码一定要使用复杂的组合,避免使用
root/admin/123456这样的弱密码。 - 限制数据库用户权限:不要给 DedeCMS 的数据库用户赋予
ALL PRIVILEGES(所有权限),只授予它当前数据库的SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX等必要权限即可。 - 定期备份数据库:养成每天或每周定期备份的好习惯,并将备份文件保存在本地或安全的云存储中。
- 及时更新:关注 DedeCMS 官方动态,及时打补丁和升级版本,以修复已知的安全漏洞。
希望这份详细的解析能帮助你更好地理解和使用 DedeCMS 后台的 MySQL 数据库!
