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@%
  • 生产环境应使用独立用户

完。

相关推荐
.Hypocritical.23 分钟前
MySQL |常用 SQL 语句与 pymysql 函数
mysql
NineData1 小时前
MySQL 到 Doris 实时数据同步:订单、用户和日志数据入仓方案
数据库·mysql
Escalating_xu1 小时前
【Linux 网络编程】网络基础概念(下):IP、端口、Socket 与网络字节序,写代码前先打好基础
linux·网络·tcp/ip
刚入门的大一新生1 小时前
Linux-Ext系列文件系统
linux·运维·服务器
无足鸟ICT2 小时前
【RHCA+】select循环
linux
SKH.2 小时前
Linux驱动-led、beep
linux·运维·单片机
Dovis(誓平步青云)2 小时前
现场问题先关闭还是先验收,建筑任务怎样处理依赖
前端·javascript·数据库·mysql·音视频
碧海银沙音频科技研究院3 小时前
炬芯ATS308X的扩音器:麦克风到扬声器直通功能实现
java·linux·运维
睡一觉就好了。3 小时前
序列化与非序列化
linux·网络
xuefuhe3 小时前
MySQL:group_replication_start_on_boot vs group_replication_bootstrap_group
mysql