CentOS LAMP配置数据库连接完整步骤
1. 准备工作:更新系统
在开始前,确保系统软件包为最新版本,避免兼容性问题:
sudo yum update -y
2. 安装LAMP核心组件
LAMP环境由**Apache(Web服务器)、MySQL/MariaDB(数据库)、PHP(服务器端脚本)**组成,通过以下命令安装:
sudo yum install -y httpd mariadb-server php php-mysqlnd
httpd:Apache HTTP服务器,提供Web服务。mariadb-server:MariaDB数据库服务器(MySQL的替代分支,兼容MySQL)。php:PHP解释器,用于处理动态页面。php-mysqlnd:PHP连接MySQL的驱动模块(必装,否则PHP无法与数据库交互)。
3. 启动并配置服务自启
安装完成后,启动Apache和MariaDB服务,并设置为开机自动启动:
sudo systemctl start httpd # 启动Apache
sudo systemctl enable httpd # 开机自启Apache
sudo systemctl start mariadb # 启动MariaDB
sudo systemctl enable mariadb # 开机自启MariaDB
4. 配置MariaDB安全设置
运行安全脚本,设置root密码、删除匿名用户、禁止远程root登录等,提升数据库安全性:
sudo mysql_secure_installation
按提示操作:
- 输入当前root密码(首次安装为空,直接回车);
- 设置root用户的登录密码;
- 删除匿名用户;
- 禁止root远程登录;
- 删除测试数据库。
5. 创建数据库与授权用户
登录MariaDB,创建专用数据库和用户,并授予该用户对数据库的访问权限(避免使用root用户直接操作应用):
sudo mysql -u root -p # 用root登录MariaDB(需输入密码)
在MariaDB命令行中执行以下SQL语句:
-- 创建数据库(例如名为"myapp")
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户(例如名为"appuser",密码"StrongPassword123!")
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPassword123>';
-- 授权用户对数据库的所有权限
GRANT ALL PRIVILEGES ON myapp.* TO 'appuser'@'localhost';
-- 刷新权限,使授权立即生效
FLUSH PRIVILEGES;
-- 退出MariaDB
EXIT;
注意:
- 替换
myapp、appuser、StrongPassword123!为实际的数据库名、用户名、密码;- 若需允许远程访问,可将
'localhost'改为'%',并配置防火墙允许3306端口(详见步骤8)。
6. 测试PHP与数据库连接
在Apache的默认文档根目录(/var/www/html)下创建PHP测试文件,验证PHP是否能正常连接数据库:
sudo nano /var/www/html/db_test.php
输入以下内容(替换为实际的数据库信息):
// 数据库连接配置
$servername = "localhost"; // 数据库服务器地址(本地为localhost)
$username = "appuser"; // 数据库用户名
$password = "StrongPassword123";// 数据库密码
$dbname = "myapp"; // 数据库名
// 创建连接(使用mysqli扩展,支持MySQLi协议)
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("数据库连接失败: " . $conn->connect_error); // 连接失败则终止并输出错误
} else {
echo "数据库连接成功!"; // 连接成功则输出提示
}
// 关闭连接(可选,脚本结束时自动关闭)
$conn->close();
?>
保存并退出编辑器(Ctrl+O→Enter→Ctrl+X)。
7. 验证连接结果
在浏览器中访问测试文件的URL(将your_server_ip替换为服务器的实际IP地址):
http://your_server_ip/db_test.php
若看到**“数据库连接成功!”**的字样,说明PHP已成功连接数据库。
8. 配置防火墙(可选但推荐)
若服务器开启了防火墙(如firewalld),需开放HTTP(80端口)和HTTPS(443端口),允许外部访问Web服务:
sudo firewall-cmd --permanent --zone=public --add-service=http # 开放HTTP端口
sudo firewall-cmd --permanent --zone=public --add-service=https # 开放HTTPS端口
sudo firewall-cmd --reload # 重新加载防火墙规则
若需允许远程访问MySQL(3306端口),可添加以下命令:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp # 开放MySQL端口
sudo firewall-cmd --reload # 重新加载防火墙规则
常见问题排查
- 连接失败:检查数据库用户权限(是否允许从当前主机访问)、密码是否正确、数据库是否存在。
- PHP无法连接:确保已安装
php-mysqlnd模块,且Apache已重启加载模块(sudo systemctl restart httpd)。 - 防火墙拦截:检查防火墙是否开放了80、443端口(HTTP/HTTPS),以及是否允许远程访问3306端口(若需要)。
通过以上步骤,你已完成CentOS LAMP环境中数据库的配置与连接测试,可在此基础上开发动态Web应用(如WordPress、Laravel等)。
以上就是关于“centos lamp怎样配置数据库连接”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm