在 Linux + Laravel 环境下连接数据库,通常分为 配置数据库 → 测试连接 → 使用数据库 三步。下面以 MySQL 为例(最常见),其他数据库类似。
sudo apt install mysql-server
CREATE DATABASE laravel_db;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
.env(推荐)编辑项目根目录下的 .env 文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password
⚠️ 注意:
- 修改
.env后执行:php artisan config:clear
config/database.php(不常用)'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => 3306,
'database' => 'laravel_db',
'username' => 'laravel_user',
'password' => 'password',
],
],
php artisan tinker
在 tinker 中执行:
DB::connection()->getPdo();
如果 没有报错,说明连接成功。
或运行迁移测试:
php artisan migrate
use App\Models\User;
$users = User::all();
use Illuminate\Support\Facades\DB;
$users = DB::table('users')->get();
sudo systemctl status mysql
DB_HOST 写成 localhost 但用的是 socket(可改成 127.0.0.1)SELECT host FROM mysql.user WHERE user='laravel_user';
sudo apt install php-mysql
sudo systemctl restart apache2 # 或 php-fpm
Laravel 支持:
只需修改 DB_CONNECTION 即可。
如果你用的是 Docker / Laravel Sail / 远程数据库 / 特定 Linux 发行版,可以告诉我,我可以给你更具体的配置。