ubuntu

Ubuntu下Laravel数据库连接失败怎么办

小樊
58
2025-09-14 21:37:46
栏目: 智能运维

  1. 检查数据库服务状态
    使用命令 sudo systemctl status mysql(MySQL)或 sudo systemctl status postgresql(PostgreSQL)确认服务是否运行,未运行则启动:

    sudo systemctl start mysql  # MySQL
    sudo systemctl start postgresql  # PostgreSQL
    
  2. 验证.env配置
    确保 .env 文件中数据库配置正确(如 DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306 等),修改后需清除缓存:

    php artisan config:clear
    
  3. 检查数据库权限
    确保数据库用户有访问权限,可通过以下命令授予权限(以MySQL为例):

    sudo mysql -u root -p
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    FLUSH PRIVILEGES;
    
  4. 排查防火墙设置
    若数据库与Laravel不在同一服务器,需开放数据库端口(如MySQL的3306):

    sudo ufw allow 3306/tcp
    sudo ufw reload
    
  5. 确认PHP扩展已安装
    安装对应数据库的PHP扩展(如MySQL需 php-mysql):

    sudo apt-get install php-mysql  # MySQL
    sudo apt-get install php-pgsql  # PostgreSQL
    sudo service apache2 restart  # 重启Web服务器
    
  6. 查看日志定位问题
    检查Laravel日志 storage/logs/laravel.log 或数据库日志(如MySQL的 /var/log/mysql/error.log),获取具体错误信息。

0
看了该问题的人还看了