CentOS 7(3.10 内核)成功安装 MySQL 5.7 全流程实践(附问题总结)

CentOS 7(3.10 内核)成功安装 MySQL 5.7 全流程实践(附问题总结)

本文基于一次真实服务器环境的实践,完整记录在 CentOS 7(已 EOL) 系统上成功安装 MySQL 5.7 的全过程,并在最后统一总结踩坑与解决方案。


一、服务器环境

bash 复制代码
uname -a
text 复制代码
Linux bogon 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 GNU/Linux
  • 操作系统:CentOS 7.x(已停止维护)
  • 数据库版本:MySQL 5.7
  • 管理客户端:Navicat
  • 使用场景:Java 服务

二、MySQL 5.7 成功安装完整流程

1. 切换 CentOS 7 Vault 源(关键)

bash 复制代码
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
bash 复制代码
cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF'
[base]
name=CentOS-7 - Base
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-7 - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-7 - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
bash 复制代码
yum clean all
yum makecache

2. 安装 MySQL 官方仓库

bash 复制代码
rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm

确认仓库已启用:

bash 复制代码
yum repolist all | grep mysql

3. 导入 MySQL 官方 GPG Key

bash 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
bash 复制代码
yum clean all
rm -rf /var/cache/yum

4. 安装 MySQL Server

bash 复制代码
yum install -y mysql-community-server

5. 启动并设置开机自启

bash 复制代码
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

6. 获取 root 初始密码

bash 复制代码
grep 'temporary password' /var/log/mysqld.log

7. 初始化 MySQL 安全配置

bash 复制代码
mysql_secure_installation

说明:

  • 默认启用 validate_password 插件
  • 密码需包含大小写字母、数字和特殊字符

示例:

text 复制代码
Mysql@1234

8. 创建远程访问用户(推荐)

bash 复制代码
mysql -uroot -p
sql 复制代码
CREATE DATABASE app_db DEFAULT CHARSET utf8mb4;
CREATE USER 'app_user'@'%' IDENTIFIED BY 'AppUser@123';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

9. 开放 3306 端口

bash 复制代码
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

10. 客户端连接测试

  • Host:服务器 IP
  • Port:3306
  • User:app_user

✅ 至此安装完成


三、常见问题与踩坑总结

1. yum 源不可用


2. 找不到 mysql-community-server

  • 原因:repo 文件丢失或未启用
  • 解决:确认 mysql57-community enabled

3. GPG key 校验失败

  • 原因:MySQL 官方更换签名密钥
  • 解决:导入 RPM-GPG-KEY-mysql-2022

text 复制代码
1130 - Host 'x.x.x.x' is not allowed to connect
  • 原因:MySQL 使用 user@host 权限模型
  • 解决:创建允许远程登录的用户

四、总结

  • CentOS 7 必须使用 Vault 源
  • MySQL 5.7 在老系统上依然稳定
  • 避免长期使用 root@%
  • 生产环境应使用独立用户

完。

相关推荐
卡比巴拉—林2 小时前
Linux SSH免密登录配置(双向免密)
linux·运维·ssh
Chasing__Dreams2 小时前
Mysql--基础知识点--110--select ... lock in share mode VS select ... for share
数据库·mysql
环流_2 小时前
【多线程初识】
linux·运维·服务器
CAAS_IFR_zp2 小时前
vConTACT3: 机器学习实现可扩展和系统的病毒层级分类
linux·运维·服务器
一个人旅程~2 小时前
Linux Mint(Ubuntu)如何在没有网卡驱动情况下利用手机上网安装旧电脑网卡驱动程序指导书
linux·windows·经验分享·电脑
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.3 小时前
MySQL高可用集群实战:MHA搭建全攻略
android·mysql·adb
Lugas Luo3 小时前
DVR 存储工具深度分析报告 (测试与产品视角)
linux·嵌入式硬件·测试工具
毅炼3 小时前
MySQL 常见问题总结(3)
数据库·sql·mysql
杨云龙UP3 小时前
ODA-Oracle实践记录:通过Navicat导出导入表CSV文件并清理重复数据,处理OA待办延迟刷新问题_20260416
linux·运维·服务器·数据库·sql·mysql·oracle