在 CentOS 7.1(2015年发布,已EOL)上安装 MySQL 需特别注意:
✅ 官方推荐使用 MySQL 官方 YUM 仓库(而非系统自带的 mariadb),但需注意版本兼容性和安全风险。
⚠️ 重要提醒:
- CentOS 7.1 已停止维护(2020年6月结束生命周期),内核、glibc 等较旧,不建议用于生产环境;
- MySQL 官方自 8.0+ 对 glibc 版本有要求(≥2.17),而 CentOS 7.1 默认 glibc 2.17 ✅ 可支持 MySQL 8.0(需确认补丁级别);
- 但为稳妥起见,推荐安装 MySQL 5.7(长期支持版,对旧系统兼容性更好,且仍有安全更新至2023年10月)。
✅ 推荐方案:安装 MySQL 5.7(稳定、兼容、有安全支持)
步骤 1:卸载可能存在的 MariaDB(避免端口/文件冲突)
# 检查是否已安装 mariadb
rpm -qa | grep mariadb
# 若存在,卸载(谨慎!确保无重要数据)
sudo yum remove mariadb-libs -y
# 注意:若提示依赖冲突,可强制移除(仅限测试环境):
# sudo rpm -e --nodeps mariadb-libs
步骤 2:添加 MySQL 官方 YUM 仓库(MySQL 5.7)
# 下载并安装 MySQL 5.7 的 repo 包(适用于 EL7)
sudo yum install -y wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
🔍 验证仓库启用状态:
yum repolist enabled | grep mysql # 应看到 mysql57-community/x86_64 已启用
步骤 3:安装 MySQL 5.7 服务器
sudo yum install -y mysql-community-server
步骤 4:启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
步骤 5:获取初始 root 密码(MySQL 5.7+ 安全策略)
sudo grep 'temporary password' /var/log/mysqld.log
# 示例输出:A temporary password is generated for root@localhost: aB3#xY9!pQ2s
步骤 6:运行安全配置向导(必须!修改密码、禁用匿名用户等)
sudo mysql_secure_installation
按提示操作:
- Enter password for user root: 输入上一步的临时密码
- New password: 设置强密码(至少8位,含大小写字母+数字+符号)
- 其余选项建议全部选
Y(移除匿名用户、禁止远程 root、删除 test 数据库、重载权限表)
步骤 7:验证安装
mysql -u root -p
# 输入新密码后进入 MySQL 命令行,执行:
SELECT VERSION(), @@hostname;
EXIT;
⚠️ 补充说明与注意事项
| 项目 | 说明 |
|---|---|
| 防火墙放行 | 若需远程访问:sudo firewall-cmd --permanent --add-port=3306/tcpsudo firewall-cmd --reload |
| 配置文件位置 | /etc/my.cnf(主配置),可按需调整 bind-address(默认 127.0.0.1,如需远程访问改为 0.0.0.0 并加强权限控制) |
| 字符集建议 | 编辑 /etc/my.cnf,在 [mysqld] 下添加:character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci并在 [client] 下加 default-character-set=utf8mb4 |
| SELinux | CentOS 7 默认启用 SELinux,MySQL 通常无需额外配置(mysqld 有对应策略),如遇连接拒绝可临时排查:sudo setsebool -P mysqld_connect_any 1(不推荐关闭 SELinux) |
| 日志路径 | 错误日志:/var/log/mysqld.log;数据目录:/var/lib/mysql/ |
❌ 不推荐的做法(常见误区)
yum install mysql→ 安装的是 MariaDB(CentOS 7 默认),非 Oracle MySQL;- 使用第三方非官方 RPM(如 Webtatic、IUS)→ 兼容性与安全性无保障;
- 手动编译安装 → 复杂、易出错、升级困难;
- 直接下载 MySQL 8.0 tarball → 需手动处理依赖和初始化,不推荐新手。
📌 最终建议(生产环境)
✅ 强烈建议升级操作系统:
- 升级到 CentOS 7.9(最后维护版) 或迁移到 Rocky Linux 8/9 / AlmaLinux 8/9;
- 新系统可直接安装 MySQL 8.0(更安全、性能更好、支持 JSON/窗口函数等);
- 若无法升级,请严格限制 MySQL 访问范围(仅内网)、定期审计、及时打补丁。
如需我提供 MySQL 8.0 安装指南(适配 CentOS 7.9+)或 Docker 方式快速部署,欢迎继续提问!
云小栈