解决DBAPI在低版本OpenSSL环境下的兼容性问题
问题背景
DBAPI要求Linux系统需要安装OpenSSL 3.0以上版本,但是某些情况下,如果您的操作系统无法安装OpenSSL 3.0以上版本,也可以直接使用系统自带的低版本openssl(如1.0.2k或1.1.1k),但是直接启动会报错。
常见错误信息:
libssl.so.1.0.0: 无法打开共享对象文件: 没有那个文件或目录
libcrypto.so.1.0.0: 无法打开共享对象文件: 没有那个文件或目录解决方案
通过创建软链接的方式,将DBAPI所需的库文件指向系统实际存在的低版本库文件。
步骤1:检查系统库文件
首先确认系统中存在的OpenSSL库文件:
bash
ls -la /usr/lib64/libssl*
ls -la /usr/lib64/libcrypto*通常在CentOS 7系统中,您会看到类似以下输出:
/usr/lib64/libssl.so.1.0.2k/usr/lib64/libcrypto.so.1.0.2k


步骤2:创建软链接
进入DBAPI安装目录的bin子目录,执行以下命令创建软链接:
bash
# 创建libssl软链接
ln -s /usr/lib64/libssl.so.1.0.2k libssl.so.1.0.0
# 创建libcrypto软链接
ln -s /usr/lib64/libcrypto.so.1.0.2k libcrypto.so.1.0.0步骤3:验证解决
完成上述操作后,重新启动DBAPI服务,应不再出现库文件缺失的错误提示。
openssl 1.1版本库文件缺失
如果启动DBAPI服务时,出现以下错误提示
libssl.so.1.1: 无法打开共享对象文件: 没有那个文件或目录
libcrypto.so.1.1: 无法打开共享对象文件: 没有那个文件或目录也是同样的解决方案,只不过注意找到系统中存在的openssl 1.1版本库文件,并创建软链接
注意事项
- 软链接必须在DBAPI安装目录的
bin目录下创建 - 链接的目标文件路径需根据实际系统中的库文件名称调整