CentOS MySQL 运行时找不到 libncurses.so.5 的解决方案

引言

生产部署还是有些胆怯,虽然DEV环境安装成功了,但是也走了很多弯路,在MiniCentOS中,虽然需要安装libaio-0.3.109-13.el7.x86_64,其他的还没有发现什么。emm。

报错信息

[root@localhost mysql]# mysql
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

查看依赖

[root@localhost mysql]# ldd ./bin/mysql
    linux-vdso.so.1 (0x00007ffc329d0000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3d1b01b000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f3d1ae13000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f3d1ac0f000)
    libncurses.so.5 => not found
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f3d1a87a000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f3d1a4f8000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3d1a2e0000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f3d19f1d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3d1b23b000)

证实并且修复

  1. 找一个相同版本的库文件放到/usr/lib64/里
  2. 找一个更高版本的软链接一下
    显然我用的这个方法

过程

[root@localhost mysql]# find /usr/lib64 -iname 'libncurses.so*'
/usr/lib64/libncurses.so.6
/usr/lib64/libncurses.so.6.1
/usr/lib64/libncurses.so.5

看来有3个,因为一般的都时向下兼容的,emm,所以这个方法有些铤而走险,但是可以用,emmm。
创建软链接

sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。