温馨提示×

laravel linux如何连接数据库

小樊
48
2026-10-01 07:20:12
栏目: 智能运维

在 Linux 服务器上使用 Laravel 连接数据库,一般分为 配置数据库、确保服务可用、测试连接 三个步骤。下面以 MySQL 为例(其他数据库类似)。


一、确认数据库服务已启动(Linux)

1. 安装并启动 MySQL

sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql

查看状态:

sudo systemctl status 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;
EXIT;

三、配置 Laravel 数据库连接

1. 修改 .env 文件

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
  • 确保 MySQL 允许远程连接

2. 修改 config/database.php(可选)

一般不用改,Laravel 默认读取 .env:

'default' => env('DB_CONNECTION', 'mysql'),

四、测试 Laravel 是否能连接数据库

方式 1:执行迁移

php artisan migrate

方式 2:Tinker 测试

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

无报错即连接成功。


五、常见问题排查

1. 权限问题

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

2. 防火墙

sudo ufw allow 3306

3. MySQL 只允许 localhost

SELECT host FROM mysql.user WHERE user='laravel_user';

4. PHP 缺少扩展

sudo apt install php-mysql
sudo systemctl restart apache2

六、其他数据库示例

PostgreSQL

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

如果你用的是 宝塔 / Docker / 远程数据库 / SQLite,可以告诉我具体环境,我可以给你更精确的配置方式。

0 踩