你的网站程序(织梦CMS)中配置的数据库连接信息(特别是密码)与你的数据库服务器上实际设置的密码不一致。

(图片来源网络,侵删)
下面我将为你提供一套详细的排查和解决方案,请按照顺序操作。
第一步:定位并修改配置文件
织梦CMS的核心数据库配置信息存储在一个特定的文件中,我们需要找到并修改它。
-
找到配置文件
- 这个文件通常位于你的网站根目录下。
- 文件名为:
data/common.inc.php - 注意:
data目录是织梦存放核心配置和缓存的地方,默认有密码保护,你需要通过FTP或主机的文件管理器进入。
-
编辑配置文件
(图片来源网络,侵删)- 使用文本编辑器(如 Notepad++, VS Code, 或者主机自带的文件编辑器)打开
common.inc.php文件。 - 找到类似下面的代码段:
//数据库连接信息 $cfg_dbhost = 'localhost'; //数据库主机 $cfg_dbname = '你的数据库名'; //数据库名 $cfg_dbuser = '你的数据库用户名'; //数据库用户名 $cfg_dbpwd = '这里是你当前错误的密码'; //数据库密码 $cfg_dbprefix = 'dede_'; //数据表前缀
- 修改
$cfg_dbpwd:将这里的密码修改为你数据库的正确密码,请确保密码大小写、特殊符号都完全正确。 - 检查其他信息:同时检查一下
$cfg_dbhost(通常是localhost或0.0.1),$cfg_dbname,$cfg_dbuser是否正确。
- 使用文本编辑器(如 Notepad++, VS Code, 或者主机自带的文件编辑器)打开
-
保存文件
修改完成后,保存文件,如果使用FTP,请确保覆盖了原文件。
第二步:如何获取正确的数据库信息?
如果你不确定正确的数据库密码,请通过以下方式获取:
-
从你的主机控制面板获取:
(图片来源网络,侵删)- 登录你的主机控制面板(如 cPanel, Plesk, 宝塔面板等)。
- 找到“数据库”或“MySQL数据库”等相关选项。
- 你可以看到你创建的所有数据库、对应的用户名以及重置密码的选项,点击“重置密码”或“修改密码”,设置一个新密码,然后回到第一步,将配置文件中的密码更新为新设置的密码。
-
从之前的安装记录中获取:
- 如果你之前成功安装过织梦,安装过程中生成的
data/install_lock.txt文件里可能记录了安装时的数据库信息,可以查找一下。
- 如果你之前成功安装过织梦,安装过程中生成的
-
从
config.bak文件中恢复:- 如果你在修改
common.inc.php之前没有备份,可以看看同目录下是否有config.bak或common.inc.php.bak这样的备份文件,它可能是你上次升级或修改前的配置,可以作为参考。
- 如果你在修改
第三步:常见场景和额外检查
即使修改了密码,问题可能依然存在,这通常由以下几种情况引起:
网站搬家/更换服务器后出现此错误
这是最常见的情况,除了修改 common.inc.php,你还需要:
- 导入数据库:确保你已经将旧服务器上的数据库完整地导出(.sql文件),并导入到了新服务器的数据库中。
- 检查数据库用户权限:在新服务器上,你为数据库用户设置的权限可能不完整,请确保该用户拥有对目标数据库的所有权限(SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER 等)。
- 检查数据库主机:新服务器的数据库主机可能不是
localhost,有些云服务器(如阿里云、腾讯云)的数据库是独立部署的,主机名是一个内网IP地址(如16.0.3)或一个域名(如mysql.internal.com),你需要去主机控制面板查看正确的数据库地址。
网站后台登录提示数据库错误
这和直接访问网站提示错误是同一个问题,根源都在 common.inc.php,请严格按照第一步操作。
修改密码后仍然报错
- 文件权限问题:确保
data/common.inc.php文件具有正确的读写权限,通常设置为644(所有者可读写,组和其他用户只读)。 - 缓存问题:织梦有缓存机制,虽然数据库密码错误通常不会导致缓存问题,但可以尝试清空一下缓存,进入
/data目录,删除cache目录下的所有文件(注意保留目录结构)。 - FTP编码问题:如果你用FTP软件上传和修改文件,请确保你的FTP软件是UTF-8编码模式,如果FTP软件默认是GBK或其他编码,保存文件时可能会在密码等特殊字符前加入不可见的BOM头,导致PHP解析错误,强烈建议使用Notepad++等编辑器,直接在服务器上编辑文件。
- 密码包含特殊字符:如果你的数据库密码中包含 , , , 等特殊字符,在某些PHP配置下可能会被转义,可以尝试用引号把密码括起来,
$cfg_dbpwd = 'p@ssw0rd!';-->$cfg_dbpwd = 'p@ssw0rd!';(通常不需要,但如果不行可以尝试)
排查清单
如果遇到问题,请按以下清单逐一检查:
- [ ] 找到文件:确认
data/common.inc.php文件存在。 - [ ] 获取正确信息:通过主机控制面板确认数据库的主机、用户名、数据库名、密码四项信息。
- [ ] 精确修改:用文本编辑器打开
common.inc.php,只修改$cfg_dbpwd的值为正确的密码,确保无多余空格或引号。 - [ ] 保存并上传:保存文件,并通过FTP/文件管理器上传覆盖。
- [ ] 检查权限:确认
common.inc.php文件权限为644。 - [ ] 检查场景:如果是网站搬家,请确认数据库已正确导入,且用户权限足够,数据库主机地址正确。
- [ ] 清空缓存:尝试清空
/data/cache目录下的文件。
按照以上步骤,99%的“织梦数据库密码错误”问题都可以解决,如果问题依然存在,请提供更具体的错误提示信息,以便进一步分析。
