文档分类

数据库配置详解

快速开始 9 次浏览 2025-12-18 02:01

配置文件位置

数据库配置文件路径:/config/database.php

完整配置说明

<?php
return [
    // 数据库服务器地址
    // 本地:localhost 或 127.0.0.1
    // 远程:填写服务器IP
    "host" => "localhost",
    
    // MySQL端口号
    // 默认是3306,如果修改过端口需要更改
    "port" => "3306",
    
    // 数据库名称
    // 必须是已存在的数据库
    "database" => "your_database_name",
    
    // 数据库用户名
    // 需要对该数据库有完整权限
    "username" => "your_username",
    
    // 数据库密码
    // 建议使用复杂密码
    "password" => "your_password",
    
    // 数据表前缀
    // 如果同一数据库安装多个程序,可使用不同前缀区分
    "prefix" => "sc_",
    
    // 字符集
    // 必须使用utf8mb4以支持emoji等特殊字符
    "charset" => "utf8mb4",
    
    // 数据库引擎(可选)
    // 默认InnoDB,支持事务
    "engine" => "InnoDB",
];

常见数据库问题

问题1:SQLSTATE[HY000] [1045] Access denied

原因:用户名或密码错误

解决:检查用户名密码是否正确,注意特殊字符转义

问题2:SQLSTATE[HY000] [2002] Connection refused

原因:MySQL服务未启动或端口错误

解决:检查MySQL服务状态,确认端口号

问题3:SQLSTATE[HY000] [1049] Unknown database

原因:数据库不存在

解决:先创建数据库再配置

问题4:字符乱码

原因:字符集配置不正确

解决:确保 charset 配置为 utf8mb4

MySQL权限设置

数据库用户需要以下权限:

  • SELECT - 查询数据
  • INSERT - 插入数据
  • UPDATE - 更新数据
  • DELETE - 删除数据
  • CREATE - 创建表
  • ALTER - 修改表结构
  • INDEX - 创建索引
  • DROP - 删除表(备份恢复时需要)
提示:在宝塔面板创建的数据库用户默认拥有这些权限。

数据库备份建议

  1. 定期使用宝塔面板的"计划任务"自动备份数据库
  2. 建议每日备份,保留最近7天的备份
  3. 重要操作前手动备份
# 手动备份命令(在服务器上执行)
mysqldump -u用户名 -p密码 数据库名 > backup_$(date +%Y%m%d).sql

# 恢复备份
mysql -u用户名 -p密码 数据库名 < backup_file.sql