解决MySQL 5.7在centos中启动报错:libncurses.so.5和libtinfo.so.5缺失问题

在使用Linux系统搭建MySQL数据库的过程中,我们往往会遇到各种依赖库的问题,尤其是在安装较旧版本的MySQL时。最近,在RedHat 9(rocky linux 9)系统上安装MySQL 5.7版本时,我遇到了一个典型的依赖库缺失错误,导致无法启动MySQL服务。具体的错误信息如下:

./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

这篇博客旨在为遇到同样问题的朋友提供一个详细的解决方案。

背景

在rockylinux 9 新安装的MySQL 5.7在启动时遇到了依赖库文件libncurses.so.5libtinfo.so.5找不到的两个错误。经过检查,发现系统中并不存在这两个库的指定版本,但存在更高版本的库文件。

tKtnHJSVdU.png

解决方案

问题1: 缺少libncurses.so.5

首先,我们尝试解决libncurses库文件缺失的问题。通过以下命令可以搜索系统中已有的libncurses版本:

find / -name 'libncurses*'

输出示例:

uVDM2og7in.png

/usr/lib64/libncurses.so.6
/usr/lib64/libncursesw.so.6
/usr/lib64/libncurses.so.6.2
/usr/lib64/libncursesw.so.6.2

可以看到,系统已安装的是libncurses.so.6版本。解决方法是创建一个指向高版本库文件的符号链接(软链接),模拟出libncurses.so.5

ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

问题2: 缺少libtinfo.so.5

PnSmnDtCNv.png


解决了libncurses.so.5的问题后,再次尝试启动MySQL时,出现了新的错误,关于libtinfo.so.5文件缺失。我们同样通过搜索,查看系统中是否存在libtinfo的其他版本:

find / -name 'libtinfo.so*'

输出示例:

cjWz6aRgCr.png

/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.2

同前面的处理方法,创建一个指向libtinfo.so.6的符号链接来解决问题:

ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5

u0UwW3VrAx.png

结语

执行完上述步骤后,再次尝试启动MySQL服务,此时应该能够正常启动了。这个方法虽然简单,但在处理较旧的软件和库文件版本不兼容问题时非常有效。

参考文章:

滑动验证页面

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值