微擎的数据库配置文件存放在站点根目录下的 data/config.php 文件中,这是所有数据库连接参数的唯一核心来源,如果你要修改数据库密码、更换服务器或迁移网站,改的就是这个文件。
微擎数据库配置文件在哪里
很多站长第一次接触微擎时,最容易困惑的就是找不到配置文件,微擎的安装目录结构里,data 文件夹承担着缓存、日志、附件和配置的存储任务,config.php 就是数据库配置的核心文件。
文件路径:/data/config.php(相对于微擎站点根目录)
这里说的站点根目录,就是你通过 FTP 或宝塔面板看到的那个包含 addons、framework、app 等文件夹的顶层目录,例如你用宝塔建站,微擎解压到 /www/wwwroot/你的域名/,那么配置文件就在 /www/wwwroot/你的域名/data/config.php。
修改之前,建议先在宝塔文件管理器中备份一份 config.php 为 config.php.bak,这个操作虽然简单,但能在你改错参数导致网站打不开时,花十秒钟恢复原状。
微擎 config.php 的配置项逐一拆解
用文本编辑器打开 config.php,你会看到一段 PHP 数组代码,这里不需要你理解 PHP 语法,只需要知道每个配置项是干什么的即可。
| 配置项 | 含义 | 常见取值示例 |
|---|---|---|
host |
数据库服务器地址 | 0.0.1 或 localhost |
port |
数据库端口 | 3306 |
database |
数据库名称 | we7_demo |
username |
数据库用户名 | we7_user |
password |
数据库密码 | 你的密码 |
tablepre |
数据表前缀 | ims_ |
charset |
字符集 | utf8 |
slave |
从库配置 | 一般为空 |
重点看这几处:
host这一行,如果数据库和网站代码在同一台服务器,保持0.0.1即可,如果你把微擎程序和数据库分开了(比如程序在简米云、数据库在酷番云),这里要填数据库服务器的公网 IP。tablepre默认是ims_,这个词是微擎的专属标记,表示所有数据表都以ims_开头,改表前缀需要连带修改数据库里所有表名,工作量非常大,不建议轻易改动。password这一项在文件中以明文形式显示,微擎不像某些框架那样对密码做二次加密,所以这个文件一旦泄露,数据库就等于裸奔。
微擎搬家数据库配置怎么改
搬家是微擎用户最常遇到的需要修改数据库配置的场景,多数情况下,搬家失败不是代码问题,而是配置文件里的数据库连接信息没同步更新。
搬家时 config.php 的修改流程:
- 在新服务器上完成微擎程序文件的上传。
- 在新服务器的数据库中(如宝塔的 phpMyAdmin),导入旧站点的 SQL 备份文件。
- 新建数据库账号,并把这个账号授权给导入的数据库。
- 打开新站的
data/config.php,将host、database、username、password四个值替换为新的数据库连接信息。 - 保存文件,访问新站首页测试。
这里有一个容易忽略的细节:搬家后微擎后台打不开,但前台正常,多半是 config.php 中的站点 URL 缓存问题,不是数据库配置的锅,你需要清空 data/tpl 和 data/cache 目录下的缓存文件,再刷新后台。
微擎修改数据库密码后必须同步改这里
很多站长在宝塔面板中重置了 MySQL 密码,结果微擎直接报“数据库连接失败”,原因很简单:你只改了 MySQL 的密码,但 config.php 里还是旧密码。
修改数据库密码后的同步操作步骤:
- 登录宝塔或 phpMyAdmin,修改数据库用户的密码。
- 编辑
/data/config.php,将'password' => '旧密码'改为新密码。 - 保存后测试站点前后台是否正常。

需要注意,如果微擎启用了 memcache 或 redis 缓存数据库连接信息,改完 config.php 后可能还需要清除缓存才能生效,具体做法是在宝塔软件商店中重启一下对应缓存服务,或者在微擎后台更新缓存,但绝大多数基础环境都是直连 MySQL,改完即生效。
微擎数据库连接失败怎么排查
“数据库连接失败”是微擎最常见的报错之一,行业共识认为,这类问题的根因无外乎以下四种:密码错误、账号权限不足、数据库地址不可达、端口不通。
排查步骤按以下顺序操作即可:
- 确认服务在运行:在宝塔中查看 MySQL 状态是否显示“运行中”。
- 验证账号密码正确性:打开 phpMyAdmin,用
config.php里的用户名和密码手动登录一次,能登上说明账号没问题。 - 检查 host 值:如果填的是
0.0.1,确认这台机器上确实跑着 MySQL,如果填的是别的 IP,检查防火墙和安全组是否放行了 3306 端口。 - 查看端口监听:通过 SSH 登录服务器,执行
netstat -tlnp | grep 3306查看 MySQL 是否监听了正确的 IP,有些 MySQL 配置了仅本地监听,远程无法连接。 - 检查错误日志:微擎在
data/log目录下会保留运行日志,报错信息比页面提示更详细,直接搜最后几行有关键字。
大多数情况下,问题出在第 2 步密码不对,或者特殊字符被转义了,这里的坑是:如果密码中包含单引号或反斜杠,直接写入 PHP 数组会导致语法错误,解决方案是修改 MySQL 密码,改成一个只有字母和数字的组合。
微擎数据库配置安全加固清单
配置文件的安全比功能更重要,业内专家指出,大量微擎站点被入侵的入口就是通过备份文件或编辑器临时文件泄露的数据库密码。
- 禁止将 config.php 加入备份压缩包,很多人整站备份时忘记排除
data
目录,导致整个数据库密码打包下载,正确做法是搬家时只备份
data目录下的附件和缓存列表,数据库单独用 phpMyAdmin 导出。 - 开启目录防执行,在 Nginx 中,对
data目录设置location ~ .\.(php|php5)$ { deny all; },这样即使攻击者上传了木马文件到data目录,也无法执行。 - 定期更换数据库密码,每三个月更换一次 MySQL 账号密码,更换后同步更新
config.php,这能有效避免历史备份文件泄露带来的持续性风险。 - 关闭 MySQL 远程连接,如果微擎和数据库同机部署,在宝塔中把 MySQL 的 bind-address 设置为
0.0.1,从根本上移除远程爆破的可能性。
微擎数据库配置常见问题
微擎数据库配置文件能加密吗?
不建议将 config.php 加密,微擎是开源程序,PHP 加载配置文件时如果使用了 ionCube 等加密扩展,会导致程序无法正常解析,要做好防护,核心思路是控制文件的访问权限,而不是隐藏文件内容,将 config.php 权限设置为 640(所有者可读写,组可读),并确保运行用户是站点目录的所有者。
微擎更换域名后需要改 config.php 吗?
不需要,域名与数据库配置无关,更换域名后应修改的是微擎后台的“站点设置”中的站点 URL 配置,如果后台因为旧域名无法访问,可以直接在 framework/config.php 中搜索旧域名并替换,但这个文件中的站点域名属于系统配置,和数据库配置是两套体系,不要混淆。
微擎数据表前缀 ims_ 能修改吗?
技术上可以,但实际意义不大,修改前缀需要执行一条 SQL 命令批量重命名所有表,ims_account 改为 we7_account,同时修改 config.php 中的 tablepre 值为 we7_,但微擎的许多插件在代码中直接拼接了表前缀变量,且部分插件的 SQL 建表语句硬编码了 ims_ 前缀,修改后极大概率出现插件报错,比较理性的做法是保留默认前缀,把精力放在数据库密码强度和访问控制上。

