Linux安装Mysql报错:libtinfo.so.5: cannot open shared object file
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
我在Linux上安装Mysql 8.0准备启动的时候遇到了如标题所示的错误
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
大致意思是系统找不到 libtinfo.so.5也就是缺少这个依赖而无法启动。
首先尝试用yum下载
yum -y install libtinfo.so.5
但一般都会如上图所示没什么卵用……所以下一步是重点
ldd /usr/local/mysql-8.0/bin/mysql
ldd 用来者查看程序运行所需的共享库访问共享对象依赖关系常用来解决程序因缺少某个库文件而不能运行的一些问题。我们发现 libtinfo.so.5 not found.
综上如果 yum 已经安装了但依赖依旧缺失那一般是版本号没有对上的问题。那么使用如下命令
find / -name libtinfo.so\* 2>/dev/null
这行命令的意思是查找根目录下所有前缀为 ‘ibtinfo.so’ 的文件同时不输出错误报告。2 的意思是 Linux 中的标准错误通常打印到屏幕上除了2以外0是从键盘获得标准输入1是从键盘获得标准输出> 是重定向而 /dev/null 则被称为“黑洞”也就是如果出错了错误报告都会被丢弃。一般用于返回的信息过多但又不重要的时候否则会影响阅读。
通过结果我们可以知道只有 6 的版本解决方法有两种一、找一份 5 的版本放在 /usr/lib64 的目录下但我不会= =。二、利用软连接使 5 指向 6。
ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5
ln -s 是创建软连接的命令意思和 Windows 的快捷方式差不多这里不多赘述以后有机会写一篇软连接与硬链接。当然现在网上也有很多讲的。
然后使用如下命令查看结果
这里的结果意思是当需要用到 libtinfo.so.5 时它实际上调用的是 libtinfo.so.6.2。版本号的差异也许会有些问题但这是目前我所能找到的最优解= =。如此问题解决。
第一次写博客还请诸位多多指教。
参考博客