使用rpm安装mysql相关包后 执行 mysqld --initialize初始化mysql总是提示mysqld: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
遇到了同样的问题,在CSDN看到了,希望阿里云团队能够给出正确、标准的答案~请查看
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到这个问题,通常是因为系统找不到MySQL依赖的libssl.so.1.1库文件。这可能是由于库文件缺失、路径配置不正确或者版本不兼容导致的。以下是一些解决步骤,帮助您在阿里云服务器上解决这个问题:
首先,您需要确保libssl.so.1.1这个库文件已经安装在您的系统中。在基于RPM的系统(如CentOS/RHEL)上,可以通过以下命令安装对应的openssl库:
sudo yum install compat-openssl11-devel
如果上述命令无效或找不到包,可能是因为您的操作系统版本较新或较旧,请根据实际的版本号调整包名,例如在某些较新的系统中可能直接是:
sudo yum install openssl11-devel
安装完相应的库之后,如果问题依然存在,可能是因为系统库路径没有正确指向新安装的库文件。您可以手动创建一个软链接到正确的库文件位置。首先,找到libssl.so.1.1的确切位置,比如它可能位于/usr/lib64/
目录下,然后创建软链接:
sudo ln -s /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so
sudo ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
请注意,上述路径假设了库文件的位置,您需要根据实际情况调整。
如果上述方法仍然不能解决问题,您还可以尝试临时添加库文件路径到LD_LIBRARY_PATH
环境变量中:
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
为了使这个设置永久生效,可以将上述命令添加到您的shell配置文件中,如.bashrc
或.profile
:
echo 'export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
确保MySQL配置文件(通常是my.cnf
)中没有硬编码了错误的库路径。检查 [mysqld]
部分是否有与SSL相关的配置,并确认它们指向正确的库文件。
完成以上步骤后,再次尝试初始化MySQL:
mysqld --initialize
如果一切顺利,这次初始化应该能够成功执行。
请按照上述步骤操作,如果问题依旧无法解决,建议查看MySQL的日志文件(通常位于/var/log/mysqld.log
),以获取更详细的错误信息,这有助于进一步诊断问题所在。