温馨提示×

laravel连接db在debian咋设

小樊
40
2026-10-11 04:02:40
栏目: 智能运维

在 Debian 上让 Laravel 连接数据库(DB),一般分为几步:安装数据库 → 配置数据库 → 配置 Laravel → 测试连接。下面以最常见的 MySQL / MariaDB 为例(PostgreSQL 类似)。


一、在 Debian 上安装数据库(以 MariaDB 为例)

sudo apt update
sudo apt install mariadb-server -y

启动并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

初始化安全配置(可选但推荐):

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 和 Laravel 所需扩展

sudo apt install php php-cli php-mysql php-mbstring php-xml php-curl php-zip unzip -y

确认扩展已启用:

php -m | grep pdo_mysql

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

如果是 本地 Unix socket,也可以:

DB_HOST=/var/run/mysqld/mysqld.sock

2️⃣ 清空配置缓存(很重要)

php artisan config:clear
php artisan cache:clear

五、测试数据库连接

方式一:Artisan 命令

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

没报错就说明连上了。


方式二:跑迁移

php artisan migrate

六、常见问题(Debian 上容易踩的坑)

❌ 报错:SQLSTATE[HY000] [1698] Access denied

原因:MySQL 的 root 用了 auth_socket

✅ 解决:
不要用 root 连 Laravel,新建普通用户(上面已示范)


❌ 报错:could not find driver

原因:没装 php-mysql

✅ 解决:

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

❌ 报错:Connection refused

检查:

  • MariaDB 是否在运行
  • DB_HOST 是否正确
  • 防火墙 / 端口

七、如果你用的是 PostgreSQL

sudo apt install postgresql

.env:

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

并安装:

sudo apt install php-pgsql

如果你愿意,可以告诉我:

  • ✅ Laravel 版本
  • ✅ 用 Apache / Nginx / PHP built-in
  • ✅ MySQL / PostgreSQL / SQLite

我可以直接给你一套完整可复制的配置。

0 踩