温馨提示×

debian laravel如何连数据库

小樊
46
2026-10-19 20:53:54
栏目: 智能运维

在 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 --now mariadb

3. 初始化安全设置(可选)

sudo mysql_secure_installation

二、创建数据库和用户

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

2. 清空配置缓存(重要)

php artisan config:clear

四、测试数据库连接

方法 1:执行迁移

php artisan migrate

方法 2:Tinker 测试

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

无报错即连接成功。


五、常见问题排查

1. 报错 SQLSTATE[HY000] [2002] Connection refused

  • 数据库未启动
sudo systemctl status mariadb
  • .env 中 DB_HOST 写错(本地一般用 127.0.0.1)

2. 报错 Access denied for user

  • 用户名/密码错误
  • 用户权限未刷新
FLUSH PRIVILEGES;

3. PHP 缺少数据库扩展

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

六、其他数据库(简要)

PostgreSQL

sudo apt install postgresql
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432

SQLite(最简单)

DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/database.sqlite
touch database/database.sqlite

如果你用的是 Nginx + PHP-FPM / Apache / Docker,或具体数据库类型不同,可以告诉我,我可以给你更精确的步骤。

0 踩