我在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。版本号的差异也许会有些问题,但这是目前我所能找到的最优解= =。如此,问题解决。
第一次写博客,还请诸位多多指教。
参考博客:
https://www.cnblogs.com/tz66/p/13513593.html文章来源:https://www.toymoban.com/news/detail-413258.html
银河麒麟高级服务器操作系统登录Highgo数据库报错 libtinfo.so.5: cannot open shared object file: No such file or directory_xiongqi666的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-413258.html
到了这里,关于Linux安装Mysql报错:libtinfo.so.5: cannot open shared object file的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!