目录

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

    在使用 Linux 系统搭建 MySQL 数据库的过程中,我们往往会遇到各种依赖库的问题,尤其是在安装较旧版本的 MySQL 时。最近,在 openEuler 22.03 (LTS-SP2) 系统上安装 MySQL 时,我遇到了一个典型的依赖库缺失错误,导致无法启动 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
    

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

    背景

    在 openEuler 22.03 (LTS-SP2) 系统上安装 MySQL ,启动时遇到了依赖库文件 libncurses.so.5 和 libtinfo.so.5 找不到的两个错误。经过检查,发现系统中并不存在这两个库的指定版本,但存在更高版本的库文件。

    解决方案

    1.问题1: 缺少libncurses.so.5

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

    find / -name 'libncurses*'
    

    输出示例:

    /usr/lib64/libncurses++.so.6.3
    /usr/lib64/libncurses++w.so.6.3
    /usr/lib64/libncurses++w.so.6
    /usr/lib64/libncurses.so.6
    /usr/lib64/libncursesw.so.6
    /usr/lib64/libncurses++.so.6
    /usr/lib64/libncursesw.so.6.3
    /usr/lib64/libncurses.so.6.3
    

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

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

    2.问题2: 缺少libtinfo.so.5

    关于 libtinfo.so.5 文件缺失,我们同样通过搜索,查看系统中是否存在 libtinfo 的其他版本:

    find / -name 'libtinfo.so*'
    

    输出示例:

    /usr/lib64/libtinfo.so.6.3
    /usr/lib64/libtinfo.so.6
    

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

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

    结语

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

    end
  1. 作者: 锋哥 (联系作者)
  2. 发表时间: 2025-03-13 09:48
  3. 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  4. 转载声明:如果是转载博主转载的文章,请附上原文链接
  5. 公众号转载:请在文末添加作者公众号二维码(公众号二维码见右边,欢迎关注)
  6. 评论

    站长头像 知录

    你一句春不晚,我就到了真江南!

    文章0
    浏览0

    文章分类

    标签云