温馨提示×

centos怎么连接laravel数据库

小樊
41
2026-09-21 02:59:34
栏目: 智能运维

CentOS 上让 Laravel 连接数据库,通常包含以下几个步骤(以 MySQL/MariaDB 为例,最常见):


一、在 CentOS 上安装数据库(如果还没装)

1. 安装 MariaDB(CentOS 默认)

sudo yum install mariadb-server mariadb -y

2. 启动并设置开机自启

sudo systemctl start mariadb
sudo systemctl enable mariadb

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

sudo mysql_secure_installation

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

mysql -u root -p

进入 MySQL 后执行:

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 文件

cd /path/to/laravel
vi .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


2. 清除配置缓存(很重要)

php artisan config:clear
php artisan cache:clear

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

php artisan migrate

如果能正常执行,说明连接成功 ✅


五、常见问题排查

1. 防火墙问题(远程连接时)

sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

2. SELinux 问题

sudo setsebool -P httpd_can_network_connect_db on

3. PHP 缺少 PDO 扩展

sudo yum install php-mysqlnd
sudo systemctl restart php-fpm   # 或 httpd

六、如果你用的是远程数据库

  • .envDB_HOST=远程IP
  • 数据库用户需允许远程访问:
CREATE USER 'laravel_user'@'%' IDENTIFIED BY 'password';

如果你用的是 PostgreSQL / SQLite / Docker / 宝塔面板,可以告诉我,我可以给你对应的具体配置方式。

0