Debian等新系统利用mysql导入数据时提醒libtinfo.so.5依赖库不存在的问题解决

Debian等新系统利用mysql导入数据时提醒libtinfo.so.5依赖库不存在的问题解决

V+变量
2026-05-23 / 0 评论 / 1 阅读 / 正在检测是否收录...

1.背景

因Netcup今年5月份后开始涨价,原价5.75欧/月的VPS1000翻倍款涨到6.81欧,博主最近把手头上的VPS从netcup迁移到阿里巴巴香港轻量服务器。在导入mysql数据的时候,系统会报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。

mysql -u root -p <database-name> < <database-name>.sql

博主建站环境为:

操作系统:Debian 13
web服务器:Nginx 1.26.0
数据库  Mariadb 10.11.7-MariaDB-log - MariaDB Server
PHP: 8.3.7

2.原因排查

通过检索和AI查询,了解到这个报错非常典型,通常发生在使用较新的 Linux 系统(如Debian、Ubuntu 20.04+ 等)去运行一个较旧版本的 MySQL 时。简单来说, MySQL 程序启动时需要一个叫 libncurses.so.5 的老版本依赖库,但新系统里默认只安装了更新的 libncurses.so.6,导致 MySQL 找不到“老伙计”而无法启动。

3.处理方案

3.1 手动创建软链接

通过“欺骗”的方式,给系统里现有的新版本库创建一个旧名字的快捷方式(软链接),让 MySQL 以为找到了它需要的文件。

3.1.1 建立软连接

ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5

注:如果提示找不到源文件,可以先用 find /usr -name "libtinfo.so.6" 确认一下你系统中 libtinfo.so.6 的实际路径

3.2 刷新动态链接库缓存

创建完软链接后,建议执行一下ldconfig 刷新动态链接库缓存,然后再尝试启动或登录 MySQL,这个问题应该就彻底解决了。

3.2 通过系统包管理器安装

如果你是 Ubuntu 20.04+ 或 Debian 系统,可以直接安装 libtinfo5 包,我的debian13直接安装这个依赖包时失败的。

sudo apt update
sudo apt install libtinfo5 -y

如果你是 CentOS 8/9、RHEL、Rocky Linux 等系统:
安装 ncurses 的兼容库通常会自动包含 libtinfo。执行:

sudo dnf install ncurses-compat-libs -y
0

评论 (0)

取消