在Ubuntu服务器上搭建LAMP环境(Linux + Apache + MySQL + PHP)是部署Web应用的经典方案。本文详细介绍从零开始配置MySQL数据库的完整流程,适合需要在Linux服务器上运行PHP站点的技术人员参考。
一、更新系统包
在开始安装任何软件之前,建议先更新系统软件包:
sudo apt update
sudo apt upgrade -y
这一步可以确保系统拥有最新的安全补丁和依赖库。
二、安装Apache Web服务器
Apache是LAMP架构中的Web服务器层,负责处理HTTP请求:
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
安装完成后,可通过浏览器访问服务器IP验证Apache是否正常运行,看到Apache默认页面即表示成功。
三、安装并配置MySQL数据库
3.1 安装MySQL服务器
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
安装过程中会提示设置root用户密码,请务必记住该密码,后续管理数据库时需要使用。
3.2 运行安全加固脚本
MySQL安装完成后,强烈建议运行安全加固脚本:
sudo mysql_secure_installation
该脚本会引导你完成以下安全设置:
– 设置或修改root密码
– 删除匿名用户账户
– 禁止root远程登录
– 删除test测试数据库
– 重新加载权限表
四、安装PHP及必要模块
sudo apt install php libapache2-mod-php php-mysql -y
sudo systemctl restart apache2
安装完成后,可以通过以下命令确认PHP版本:
php -v
五、创建数据库和用户
5.1 登录MySQL控制台
sudo mysql -u root -p
输入前面设置的root密码后进入MySQL交互界面。
5.2 创建数据库和用户
按顺序执行以下SQL命令,将mydatabase、myuser、mypassword替换为你实际需要的信息:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
建议:生产环境中不要使用简单的密码,数据库用户名和密码应与服务器登录密码不同,以提高安全性。
六、测试数据库连接
在Web根目录创建PHP测试文件:
sudo nano /var/www/html/test.php
写入以下内容:
<?php
$servername = "localhost";
$username = "myuser";
$password = "mypassword";
$dbname = "mydatabase";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
保存后在浏览器访问 http://你的服务器IP/test.php,看到”连接成功”即表示配置正确。
注意:测试完成后建议删除test.php文件,避免安全隐患。
七、防火墙配置(可选)
如果服务器启用了UFW防火墙,需要开放HTTP/HTTPS端口:
sudo ufw allow 'Apache Full'
八、常见问题排查
问题1:无法连接MySQL
检查MySQL服务状态:sudo systemctl status mysql
问题2:PHP无法连接数据库
确认已安装php-mysql模块,并重启Apache:sudo systemctl restart apache2
问题3:权限不足
检查数据库用户权限,确保已正确授予对应数据库的所有权限。
总结
完成以上步骤后,你的Ubuntu服务器已具备完整的LAMP运行环境,MySQL数据库可正常为Web应用提供数据存储服务。建议定期更新系统软件包和MySQL版本,以保障服务器安全稳定运行。