温馨提示×

laravel在debian如何配置数据库

小樊
36
2026-10-16 22:14:59
栏目: 智能运维

下面以 Debian + Laravel 为例,系统说明如何配置数据库(以 MySQL / MariaDB 为主,也会提 PostgreSQL)。


一、安装数据库(Debian)

1. 安装 MySQL / MariaDB

sudo apt update
sudo apt install mariadb-server -y
# 或
sudo apt install mysql-server -y

2. 启动并设置开机自启

sudo systemctl enable mariadb
sudo systemctl start mariadb

3. 安全初始化(可选但推荐)

sudo mysql_secure_installation

二、创建数据库和用户(Laravel 用)

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;

三、安装 PHP 数据库扩展

1. 查看 PHP 版本

php -v

2. 安装对应扩展

# PHP 8.1 示例
sudo apt install php8.1-mysql
# PostgreSQL
sudo apt install php8.1-pgsql
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm

四、配置 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

⚠️ 不要用 root 用户跑 Laravel


2. 检查 config/database.php

通常无需修改,默认即可:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
],

五、测试数据库连接

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

无报错即成功。


六、执行迁移

php artisan migrate

七、常见问题

1. SQLSTATE[HY000] [2002] Connection refused

  • 数据库没启动
  • DB_HOST 写错(本地用 127.0.0.1 比 localhost 稳)

2. 权限问题

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

3. 远程数据库

DB_HOST=远程IP
DB_PORT=3306

并允许远程用户连接。


八、使用 PostgreSQL(可选)

sudo apt install postgresql
sudo -u postgres createuser laravel_user
sudo -u postgres createdb laravel_db

.env

DB_CONNECTION=pgsql

如果你愿意,我可以按你的 Debian 版本 / PHP 版本 / 数据库类型给你一份精确命令。

0 踩