温馨提示×

laravelcentos如何连库

小樊
38
2026-10-23 09:26:40
栏目: 智能运维

你问的应该是 在 CentOS 上运行的 Laravel 如何连接数据库(“连库”通常指连接 MySQL / MariaDB 等)。下面按常见场景一步步说明。


一、准备工作(CentOS 上)

1. 安装数据库(以 MySQL 为例)

sudo yum install -y mariadb-server mariadb
# 或 MySQL
# sudo yum install -y mysql-server

sudo systemctl start mariadb
sudo systemctl enable mariadb

2. 创建数据库和用户

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
# 或
php artisan config:cache

三、测试是否连接成功

方式 1:执行迁移

php artisan migrate

方式 2:Tinker 测试

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

不报错说明连接成功。


四、常见问题(CentOS 特有)

1. SELinux 阻止连接

# 查看
getenforce

# 临时关闭
sudo setenforce 0

或允许网络访问:

sudo setsebool -P httpd_can_network_connect_db on

2. 防火墙未开放端口

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

(本地连接通常不需要)


3. PHP 缺少 PDO 扩展

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

五、远程数据库(非 localhost)

如果数据库在别的服务器:

DB_HOST=数据库IP
DB_PORT=3306

并确保:

  • 数据库用户允许远程('user'@'%')
  • 防火墙开放 3306
  • CentOS 防火墙 / SELinux 允许出站

如果你指的是 “Laravel + CentOS 连接 Oracle / PostgreSQL / SQLite”,或者 连接报错信息,可以把具体错误贴出来,我可以针对性帮你排查。

0 踩