ubuntu

ubuntu下thinkphp数据库连接失败怎么办

小樊
44
2025-09-12 22:01:17
栏目: 编程语言

  1. 检查数据库服务状态
    确保MySQL/MariaDB服务已启动,可通过命令 sudo systemctl status mysqlsudo systemctl status mariadb 查看,未启动则用 sudo systemctl start mysql 启动。

  2. 验证数据库配置

    • 检查 config/database.php.env 文件中的配置(如主机名、端口、用户名、密码、数据库名),确保与实际一致。
    • 远程连接需确认 hostname 为IP地址,且防火墙开放对应端口(默认3306)。
  3. 确认数据库用户权限
    mysql -u root -p 登录MySQL,执行 SHOW GRANTS FOR '用户名'@'主机名',确保用户有访问权限,必要时用 GRANT 语句赋权。

  4. 检查防火墙设置
    若为远程连接,用 sudo ufw allow 3306 开放端口。

  5. 查看错误日志

    • 通过 sudo tail -f /var/log/mysql/error.log 查看MySQL错误日志,定位具体问题。
    • ThinkPHP日志位于 runtime/log 目录,可获取连接失败的详细信息。
  6. 验证PHP扩展
    确保已安装 pdo_mysqlmysqli 扩展,可通过 php -m 查看,未安装则用 sudo apt install php-mysql 安装。

  7. 测试连接
    在ThinkPHP中使用 Db::query('SELECT 1') 或命令行工具测试连接,捕获异常信息进一步排查。

参考来源

0
看了该问题的人还看了