Typecho 安装出现数据库连接错误,通常是因为数据库账号密码配置错误、数据库未创建或数据库驱动不匹配。优先检查 config.inc.php 中的数据库配置项,并确认数据库服务已正常运行。
先说结论:大部分连接错误源于配置信息与实际环境不一致,修正驱动类型或 credentials 即可解决。
- 先确认:数据库服务是否启动,账号密码是否正确。
- 先处理:修改 config.inc.php 中的驱动类型为 Pdo_Mysql。
- 再验证:刷新安装页面,观察是否进入下一步。
快速处理思路
如果不适合命令操作,可按以下顺序排查配置:
- 检查数据库服务状态,确保 MySQL 或 SQLite 服务已运行。
- 核对 config.inc.php 中的数据库名、用户名和密码。
- 将数据库驱动从 Mysql 修改为 Pdo_Mysql。
- 若使用 SQLite,检查 usr 目录及 db.db 文件的读写权限。
为什么会这样
核心是连接参数不匹配或环境兼容性不足。Typecho 默认配置可能与新版本 MySQL 不兼容,或者 SQLite 权限不足导致无法写入。部分案例显示,MySQL 8.0 以上版本可能导致连接错误,而驱动类型未指定为 PDO 也会引发兼容性报错。
分步处理
按以下步骤操作,每步完成后检查页面反应:
- 检查数据库服务:登录服务器,确认 MySQL 服务已启动。若未启动,执行启动命令。若使用 SQLite,跳过此步。
- 验证账号密码:进入 phpMyAdmin 或命令行,确认数据库名存在且账号密码正确。可尝试新建名为 typecho 的数据库。
- 修改驱动配置:打开网站根目录 config.inc.php 文件,找到$db 字段。将数据库类型从 Mysql 修改为 Pdo_Mysql。保存文件。
- 调整文件权限:若使用 SQLite 本地安装,确保安装目录及 usr/db.db 路径的每个层级文件夹拥有读写权限。可将权限设置为 everyone 读写。
怎么验证是否生效
刷新 Typecho 安装页面,若不再提示数据库连接错误且进入下一步安装界面,说明配置生效。若仍报错,检查服务器错误日志或 PHP 错误日志,确认是否有权限拒绝或连接超时记录。
常见坑
- MySQL 版本过高:有经验表明 MySQL 8.0 以上版本可能出错,建议尝试 5.7 版本。
- 驱动类型不匹配:迁移网站后容易出现 Database Server Error,需手动将配置改为 Pdo_Mysql。
- 文件夹权限限制:本地安装 SQLite 时,若文件夹权限不足,会导致无法连接数据库。
- 配置未保存:修改 config.inc.php 后未保存或缓存未清除,导致配置未生效。
常见问题
初次安装可以直接用 SQLite 吗?
可以。选择 Pdo 驱动 SQLite 适配器进行安装,无需填写数据库用户及密码,直接安装成功。
MySQL 8.0 版本会导致连接错误吗?
可能会。有案例显示 MySQL 8.0 以上版本会出现连接错误,卸载后重新安装 5.7 版本可恢复正常。
迁移网站后报错 Database Server Error 怎么办?
打开网站根目录 config.inc.php,找到$db 字段,将数据库内容从 MySql 修改为 Pdo_Mysql。
参考来源
- 来源:typecho 安装时提示 对不起,无法连接数据库,页面标题:typecho 安装时提示 对不起,无法连接数据库
- 来源:Typecho 本地安装提示:对不起,无法连接数据库,请先检查数据库配置再继续进行安装,页面标题:Typecho 本地安装提示:对不起,无法连接数据库,请先检查数据库配置再继续进行安装
- 来源:【Typecho】网站报错:Database Server Error,页面标题:【Typecho】网站报错:Database Server Error
- 来源:typecho 搬家后出现的一些问题解决方法,页面标题:typecho 搬家后出现的一些问题解决方法