温馨提示×

linux laravel如何连接数据库

小樊
39
2026-09-19 08:32:43
栏目: 智能运维

在 Linux 下使用 Laravel 连接数据库,通常分为 配置、环境、测试 三步。下面以最常见的 MySQL 为例说明(PostgreSQL / SQLite 类似)。


一、准备数据库(Linux 上)

以 MySQL 为例:

# 安装(如未安装)
sudo apt update
sudo apt install mysql-server

# 启动
sudo systemctl start mysql
sudo systemctl enable mysql

# 登录
sudo mysql -u root -p

# 创建数据库和用户
CREATE DATABASE laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;

二、Laravel 数据库配置

1️⃣ 修改 .env 文件(推荐)

在 Laravel 项目根目录:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password

⚠️ 如果是远程数据库,把 DB_HOST 改成服务器 IP


2️⃣ 配置 config/database.php(可选)

默认值一般不用改:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
],

三、测试数据库连接

方法 1:Artisan 命令

php artisan tinker
DB::connection()->getPdo();

无报错即连接成功。


方法 2:运行迁移测试

php artisan migrate

如果能成功创建表,说明连接正常。


四、常见问题(Linux 下高频)

1️⃣ 找不到 pdo_mysql

sudo apt install php-mysql
sudo systemctl restart apache2   # 或 php-fpm

2️⃣ 权限问题

sudo chown -R www-data:www-data storage bootstrap/cache

3️⃣ 远程连接失败

  • MySQL 配置 bind-address = 0.0.0.0
  • 防火墙放行 3306
  • 用户权限为 'user'@'%'

五、其他数据库示例

SQLite

DB_CONNECTION=sqlite
DB_DATABASE=/绝对路径/database.sqlite

PostgreSQL

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel_db
DB_USERNAME=postgres
DB_PASSWORD=password

如果你告诉我:

  • ✅ 使用的 Linux 发行版
  • ✅ 数据库类型
  • ✅ 是否 本地 / 远程

我可以给你更精确的步骤或排错方案。

0 踩