我之前经常使用 mysql 命令行客户端,但是当我尝试启动它时突然出现此错误。
mysql: relocation error: mysql: symbol strmov_overlapp, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference
我能想到的唯一重大事件是从 Ubuntu 9.10 更新到 10.4。我不确定我是否做了其他什么事情把它搞砸了。
我尝试卸载 mysql 服务器和 mysql 客户端,但无济于事。
sudo aptitude purge mysql-server-5.1
任何帮助都将非常感谢,谢谢。
答案1
在我看来,这看起来像是一个图书馆问题。
尝试运行 ldconfig。
如果这没有帮助,我会尝试识别 mysql 客户端附带的软件包,然后删除并重新安装该软件包。我对 debian 软件包不太熟悉,但在 redhat 世界中,mysql 客户端有自己的软件包,与 mysql-server 和 mysql-common 分开。
还尝试确定 libmysqlclient.so.16 来自哪个包,然后卸载/重新安装该包。
另外,您没有更改过架构,例如从 32 位移至 64 位?如果是这样,您可能需要检查 mysql 二进制文件属于哪个架构(使用 file 命令),并确保安装了正确的架构库。