centos

centos上laravel数据库连接失败原因

小樊
37
2025-12-11 12:29:23
栏目: 智能运维

CentOS 上 Laravel 数据库连接失败的常见原因与排查

一 常见根因概览

二 快速定位步骤

  1. 核对连接参数:确认 .envDB_CONNECTION=mysql,以及 DB_HOST/DB_PORT/DB_DATABASE/DB_USERNAME/DB_PASSWORD 正确;必要时在应用服务器上用命令行直连验证:
    mysql -h 实际主机 -P 3306 -u 用户名 -p
  2. 检查数据库服务状态与监听
    • 状态:systemctl status mysqld
    • 监听:ss -nlt | grep 3306 或 netstat -tnlp | grep 3306
  3. 验证网络与防火墙
    • firewalld:firewall-cmd --list-ports 与 firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload
    • 云环境:检查安全组入站规则是否允许来自应用服务器的 3306/TCP
  4. 检查用户权限与主机匹配:确保用户授权包含应用来源主机(如 ‘user’@‘应用服务器IP’ 或 ‘%’),并授予目标库权限。
  5. 查看日志定位
    • Laravel:storage/logs/laravel.log
    • MySQL:/var/log/mysqld.log
  6. 确认 PHP 扩展:php -m | grep -E ‘pdo_mysql|mysqli’;缺失则安装对应扩展并重启 php-fpm
  7. 清除配置缓存:php artisan config:clear(修改 .env 后务必执行)。
  8. 排除 SELinux:临时 setenforce 0 验证,若解决需调整 SELinux 策略或设为 Permissive(不建议长期)。

三 典型报错与对应处理

四 最小可用配置与命令清单

0
看了该问题的人还看了