首先确保MySQL已安装:
# Ubuntu/Debian
sudo apt update
sudo apt install mysql-server
# CentOS/RHEL
sudo yum install mysql-server
运行安全安装脚本:
sudo mysql_secure_installation
按照提示设置: - 设置root密码 - 移除匿名用户 - 禁止远程root登录 - 移除测试数据库 - 重新加载权限表
编辑MySQL配置文件:
sudo nano /etc/mysql/my.cnf # 或 /etc/mysql/mysql.conf.d/mysqld.cnf
常用配置项:
[mysqld]
bind-address = 127.0.0.1 # 只允许本地连接
# 或 bind-address = 0.0.0.0 # 允许远程连接
max_connections = 100
key_buffer_size = 256M
innodb_buffer_pool_size = 1G # 建议为总内存的50-70%
登录MySQL:
sudo mysql -u root -p
创建数据库和用户:
CREATE DATABASE myappdb;
CREATE USER 'myappuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON myappdb.* TO 'myappuser'@'localhost';
FLUSH PRIVILEGES;
确保PHP MySQL扩展已安装:
# PHP 7.x
sudo apt install php-mysql
# PHP 8.x
sudo apt install php-mysqlnd
在PHP代码中连接示例:
<?php
$servername = "localhost";
$username = "myappuser";
$password = "secure_password";
$dbname = "myappdb";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
设置自动备份:
# 使用mysqldump创建备份
sudo mysqldump -u root -p myappdb > /path/to/backup/myappdb_$(date +%F).sql
可以设置cron任务定期执行备份。
常见问题解决:
- 连接问题:检查MySQL服务是否运行 sudo systemctl status mysql
- 权限问题:确认用户有正确的数据库权限
- 性能问题:使用 EXPLAIN
分析慢查询
通过以上步骤,您应该已经成功在LAMP环境中配置了MySQL,并准备好为您的Web应用程序提供数据库支持。