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

完。

相关推荐
代码AC不AC1 分钟前
【Linux】NAT与代理
linux·nat·代理
lsylalalala3 分钟前
mysql-索引1
数据库·mysql
2501_937860943 小时前
MySQL表的操作:创建、查看、修改、删除完整实战
android·数据库·mysql
奇特認7 小时前
mysql 集群技术 3.高可用之 MHA
数据库·mysql
leisoo80979 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
青瓦梦滋10 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl11 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl11 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班11 小时前
tengine知识点
linux·服务器·centos
Blossom i13 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql