在 CentOS 上安装 LAMP 中的 MySQL 数据库
一 安装前准备
cat /etc/centos-release,不同大版本(如 CentOS 7/8/Stream)在软件源与初始化方式上略有差异。sudo yum update -y。sudo yum install -y wget curl vimsudo yum remove -y mariadb* mysql*(请先确认无业务依赖)。二 使用 YUM 安装与启动 MySQL(推荐)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo yum-config-manager --enable mysql80-community
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld
sudo grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation
按向导设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库等。完成后可用 mysql -u root -p 登录验证。三 防火墙与远程访问
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
mysql -u root -p
CREATE USER 'admin'@'192.168.1.%' IDENTIFIED BY 'StrongPass!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'192.168.1.%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
四 与 Apache/PHP 集成与连通性测试
sudo yum install -y php php-mysqlnd
sudo systemctl restart httpd
/var/www/html/test_mysql.php:<?php
$servername = "localhost";
$username = "root";
$password = "你的root密码";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
浏览器访问 http://服务器IP/test_mysql.php,看到“连接成功”即表示 LAMP 与 MySQL 连通正常。五 常见问题与进阶
/etc/my.cnf,在 [mysqld] 下添加 skip-grant-tables 并重启:sudo systemctl restart mysqldFLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass!';
skip-grant-tables 并重启。my.cnf、注册系统服务等,适合有特定优化需求的场景。