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 源不可用
- 原因:CentOS 7 已 EOL
- 解决:使用 vault.centos.org
2. 找不到 mysql-community-server
- 原因:repo 文件丢失或未启用
- 解决:确认 mysql57-community enabled
3. GPG key 校验失败
- 原因:MySQL 官方更换签名密钥
- 解决:导入 RPM-GPG-KEY-mysql-2022
4. Navicat 报 1130 错误
text
1130 - Host 'x.x.x.x' is not allowed to connect
- 原因:MySQL 使用 user@host 权限模型
- 解决:创建允许远程登录的用户
四、总结
- CentOS 7 必须使用 Vault 源
- MySQL 5.7 在老系统上依然稳定
- 避免长期使用 root@%
- 生产环境应使用独立用户
完。