CentOS7 上 MySQL 安装 libssl.so.10 依赖问题总结
一、问题根源
CentOS7 默认的 OpenSSL 版本为 1.1.1,而 MySQL 8.0.27 及更早的 el7 版本,强制依赖 OpenSSL 1.0.2 提供的 libssl.so.10/libcrypto.so.10 库文件。版本不兼容导致软链接无效,必须安装对应版本的 OpenSSL 才能解决。
二、完整解决流程(离线环境通用)
1. 准备依赖包(必须按顺序安装)
地址:
从 CentOS7 官方镜像下载以下 2 个关键包:
openssl-libs-1.0.2k-19.el7.x86_64.rpm(核心库文件,提供libssl.so.10/libcrypto.so.10)openssl-1.0.2k-19.el7.x86_64.rpm(主程序包,依赖 libs 安装)![image]()
2. 安装依赖包(解决版本冲突)
# 先装 libs 包(必须第一步执行) rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --nodeps --force # 再装 openssl 主程序 rpm -ivh openssl-1.0.2k-19.el7.x86_64.rpm --nodeps --force

3. 验证依赖是否安装成功
输出包含文件路径,说明依赖已就绪。
4. 安装兼容的 MySQL 版本(推荐 8.0.28+)
选择 MySQL 8.0.28 el7 及以上版本,对 OpenSSL 兼容性更好,步骤如下:
5. 初始化并启动 MySQL
6. 登录并修改密码
三、关键避坑指南
| 坑点 | 错误做法 | 正确做法 |
|---|---|---|
| 依赖顺序错误 | 先装 openssl 主程序,再装 openssl-libs |
必须先装 openssl-libs,再装主程序 |
| 软链接无效 | 将 OpenSSL 1.1 的库文件软链接为 libssl.so.10 |
软链接无法绕过版本校验,必须安装原生 1.0.2 版本 |
| 版本选择错误 | 安装 MySQL 8.0.27 及更早版本 | 优先选择 MySQL 8.0.28+,对 OpenSSL 兼容性更强 |
| 权限问题 | 未设置 /var/lib/mysql 的 mysql 用户权限 |
初始化后必须执行 chown -R mysql:mysql /var/lib/mysql |


浙公网安备 33010602011771号