船说 CMS 数据库账号密码在哪里修改

chinaz
chinaz 初级会员超兽战士
发布于 2026-10-08 10:13 ·2 浏览 ·0 回复

改完这篇,你就能找到船说CMS 存放数据库账号密码的那个文件,把 host、库名、用户名、密码换掉,并且知道改完后为什么还要清缓存、以及数据库那一端的密码该怎么同步修改。

第一步:先分清你要改的是哪一个「数据库密码」

这一步是避免白忙活。网站里其实存在两个「数据库密码」:一个是 MySQL 服务端那个账号本身的密码,一个是 船说CMS 配置文件里写的、用来登录 MySQL 的密码。两者必须一致,只改一个,网站立刻报「数据库连接失败」。

  • 如果你只是换了服务器、换了数据库账号 → 改配置文件。
  • 如果你是在 MySQL 里把某个账号的密码改了 → 两边都要改。

注意:不要先改数据库端的密码再去找配置文件,中间那段时间网站是打不开的。顺序建议是:先改 MySQL 密码,立刻改配置文件,然后清缓存。

第二步:定位配置文件

这一步要拿到配置文件的绝对路径。船说CMS 的后台不提供修改数据库连接信息的功能(因为它必须先连上数据库才能进后台,属于死锁),所以只能用文件管理器或 SSH 去改。

宝塔面板用户:登录面板 → 左侧「网站」→ 点你的站点名 → 「根目录」,进入文件管理。在文件管理右上角的搜索框里输入文件名逐个找,优先级从高到低是:

  1. /config/database.php
  2. /application/database.php
  3. /config/db.php
  4. /.env(隐藏文件,需要在文件管理右上角「设置」里勾选「显示隐藏文件」)
  5. /data/config.php
  6. /include/config.inc.php
  7. /config/config.php

找不到就用命令行搜关键词,最准:

grep -rn "hostname\|DB_HOST\|db_host" /www/wwwroot/你的站点目录 --include=*.php --include=.env | head -20

一条命令就能把写着数据库连接信息的文件全列出来,看哪一条里有你认识的库名,就是它。

第三步:打开文件,认准这几个字段

这一步改完就得到结果了。用编辑器打开上一步找到的文件,你会看到类似这样的数组(ThinkPHP 风格最常见):

return [
    'type'     => 'mysql',
    'hostname' => '127.0.0.1',   // 数据库地址,本机就是 127.0.0.1
    'database' => 'chuanshuo',   // 库名
    'username' => 'chuanshuo_u', // 账号
    'password' => '旧密码',       // ← 要改的就是这里
    'hostport' => '3306',
    'prefix'   => 'cs_',         // 表前缀,别动
];

如果打开的是 .env 文件,格式长这样,改等号右边的值即可:

[DATABASE]
HOSTNAME = 127.0.0.1
DATABASE = chuanshuo
USERNAME = chuanshuo_u
PASSWORD = 新密码
HOSTPORT = 3306
PREFIX = cs_

只改 password(或 PASSWORD),prefix 和 hostport 不要动。改完保存。

注意:用记事本改 PHP 文件容易带上 BOM 头,导致整站白屏。请用宝塔文件管理自带的编辑器,或 VS Code、Notepad++ 并确认编码为 UTF-8 无 BOM。

第四步:同步修改 MySQL 端的密码

这一步对应「我是在数据库里改密码」的场景。宝塔面板:左侧「数据库」→ 找到你的库 → 点该行右侧的「改密码」,输入新密码并提交。注意这里改的是这个库对应账号的密码,要和第三步文件里写的一致。

命令行方式(MySQL 5.7 / 8.0 通用):

ALTER USER 'chuanshuo_u'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

第五步:清缓存、验证

这一步做完网站才会真正读新配置。船说CMS 会把配置缓存到 runtime/ 目录,删掉它:

rm -rf /www/wwwroot/你的站点目录/runtime/*

然后刷新网站首页。能正常打开就成功了。如果提示数据库连接失败,先确认三件事:库名有没有拼错、账号有没有对应这个库的权限、MySQL 是不是跑在 3306 端口。

注意:改完密码后,如果你还装了 phpMyAdmin、其他同库的站点或定时任务脚本,它们的配置里也写着同一个密码,记得一起改,否则会出现「主站好了、别的地方报错」。

小结

  • 船说CMS 后台没有改数据库连接的入口,只能改文件,常见位置是 /config/database.php、/application/database.php、/.env。
  • 用 grep -rn "hostname" 一条命令定位,比逐个目录翻快得多。
  • 改的是 password / PASSWORD 字段,库名、端口、表前缀不要动。
  • MySQL 端的账号密码和文件里的密码必须一致,顺序是先改数据库、再改文件。
  • 改完一定要清 runtime/ 缓存,否则读的还是旧配置。
  • 同服务器的 phpMyAdmin、其他站点、计划任务脚本可能共用这个账号,别忘了同步。
版权声明:本文来自 GJ站长论坛《船说 CMS 数据库账号密码在哪里修改》
原文链接:https://www.gj0.com/thread-892.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~