当前位置: 首页 > news >正文

【Linux安装 OpenSSL 1.0.2 兼容包】

1. 安装 OpenSSL 1.0.2 兼容包(推荐)

大多数 Linux 发行版提供 OpenSSL 1.0.x 的兼容包,可直接安装:

CentOS/RHEL 7

sudo yum install openssl10

CentOS/RHEL 8+

sudo dnf install compat-openssl10

Ubuntu 18.04/Debian 9+

# 从Ubuntu官方仓库安装
sudo apt update
sudo apt install libssl1.0.0# 或从.deb包安装(适用于没有官方源的情况)
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
2. 手动编译安装 OpenSSL 1.0.2

如果系统没有兼容包,可从源码编译 OpenSSL 1.0.2:

# 下载源码
wget https://www.openssl.org/source/openssl-1.0.2u.tar.gz
tar -zxvf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u# 编译安装到自定义目录
./config --prefix=/opt/openssl-1.0.2 shared zlib
make -j$(nproc)
sudo make install# 创建软链接
sudo ln -s /opt/openssl-1.0.2/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
sudo ln -s /opt/openssl-1.0.2/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10# 更新动态链接库配置
echo "/opt/openssl-1.0.2/lib" | sudo tee /etc/ld.so.conf.d/openssl-1.0.2.conf
sudo ldconfig
3. 使用 LD_LIBRARY_PATH 临时指定库路径(测试用)

在启动 MySQL 前,临时指定 OpenSSL 1.0.2 库的路径:

# 假设OpenSSL 1.0.2安装在/opt/openssl-1.0.2
export LD_LIBRARY_PATH=/opt/openssl-1.0.2/lib:$LD_LIBRARY_PATH# 启动MySQL(根据你的系统)
sudo systemctl start mysqld
# 或
sudo service mysql start
4. 升级 MySQL 到支持 OpenSSL 1.1 的版本

如果上述方法都不可行,考虑升级 MySQL 到更高版本(如 MySQL 8.0),它原生支持 OpenSSL 1.1:

# 以CentOS为例
sudo yum remove mysql-server  # 卸载旧版本
sudo yum install mysql-server  # 安装最新版本# 初始化并启动
sudo mysqld --initialize
sudo systemctl start mysqld

验证修复结果

再次检查依赖:

ldd /usr/sbin/mysqld | grep "not found"

如果没有输出,则问题解决。如果仍有其他依赖缺失,重复上述步骤处理即可。

注意事项

  1. 安全风险:OpenSSL 1.0.2 已停止维护,生产环境建议优先升级 MySQL 而非使用旧版 OpenSSL。
  2. 多版本共存:通过自定义路径安装 OpenSSL 1.0.2 不会影响系统现有的 OpenSSL 1.1,可避免依赖冲突。
  3. 动态链接配置:修改 LD_LIBRARY_PATH/etc/ld.so.conf.d/ 会影响系统全局,确保路径正确,避免引入新问题。
http://www.dtcms.com/a/266298.html

相关文章:

  • 【手动安装并启动后, 如何查看mysql数据库密码以及重置密码(centos8)】
  • 负载均衡--常见负载均衡算法
  • 【论文笔记】【强化微调】综述 - Think With Image
  • 二叉树题解——将有序数组转换为二叉搜索树【LeetCode】优化解法
  • 微软医疗AI诊断系统发布 多智能体协作实现疑难病例分析
  • 怎么处理[TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark
  • windows安装ELK
  • Nginx 的安装部署
  • Web后端开发(事务管理、AOP)
  • 倾斜摄影无人机飞行航线规划流程详解
  • 无人机Ku相控阵卫星通信系统技术说明
  • jQuery Mobile 安装使用教程
  • 高可扩展属性建模设计:架构师的全局思考与落地方案
  • 云原生AI研发体系建设路径
  • PaddleOCR独立服务:高效OCR一站式解决方案
  • 简述MCP的原理-AI时代的USB接口
  • 如何把一台手机的屏幕投到另一台手机上
  • Perforce QAC 与 Klocwork 重磅升级:质量突破+许可降本
  • 【VScode | 格式化文档】一文掌握VScode使用 clang-format 的文档格式化(C/C++)
  • 文心大模型及百度大模型内容安全平台齐获信通院大模型安全认证
  • 微信小程序如何实现再多个页面共享数据
  • 机器学习中的数学---常用距离计算方法详解
  • 通过 Ansys Discovery CFD 仿真探索电池冷板概念
  • 睿尔曼系列机器人——以创新驱动未来,重塑智能协作新生态(下)
  • 【IM项目笔记】1、WebSocket协议和服务端推送Web方案
  • 在 Ubuntu 22.04 上使用 Minikube 部署 Go 应用到 Kubernetes
  • 商品中心—19.库存分桶高并发的优化文档
  • element-plus按需自动导入的配置 以及icon图标不显示的问题解决
  • Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
  • ubuntu22桌面版中文输入法 fcitx5