温馨提示×

centos lamp怎么设置数据库

小樊
46
2026-07-20 22:48:19
栏目: 智能运维

CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境后,设置数据库 通常指的是创建数据库、用户并授权。下面以 MariaDB(CentOS 7/8 默认) 为例说明。


一、安装数据库(如尚未安装)

CentOS 7

yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

CentOS 8

dnf install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb

二、数据库初始化(建议执行)

mysql_secure_installation

会依次提示:

  • 设置 root 密码 ✅
  • 是否删除匿名用户 ✅
  • 是否禁止 root 远程登录(按需)
  • 是否删除 test 数据库 ✅
  • 重新加载权限表 ✅

三、登录数据库

mysql -u root -p

输入 root 密码后进入 MariaDB 命令行。


四、创建数据库

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

✅ 推荐使用 utf8mb4,避免中文乱码。


五、创建数据库用户并授权

创建用户

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password123';

授权

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';

刷新权限

FLUSH PRIVILEGES;

六、查看数据库和用户(确认)

SHOW DATABASES;
SELECT user, host FROM mysql.user;

七、PHP 连接数据库测试(可选)

创建 test.php

<?php
$conn = new mysqli("localhost", "testuser", "password123", "testdb");
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
?>

访问:

http://服务器IP/test.php

八、常见问题

1️⃣ 忘记 root 密码

systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql

然后重置密码。

2️⃣ 远程连接数据库

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%' IDENTIFIED BY 'password123';

并确认防火墙放行 3306 端口。


如果你用的是 CentOS 版本不同MySQL 而非 MariaDB,可以告诉我,我给你对应方案。

0