• Zabbix libmysqlclient.so.18: cannot open shared object file 原因及解决办法


    百度了很多文章,感觉都没说清楚,虽然本文也有可能是错误的,但相信能给大家提供一点思路,解决了我自己疑问与问题

    现象

    zabbix版本为5.0,安装的是zabbix-server-mysql
    linux版本:centos 7.8
    mysql版本:5.7.31
    启动的时候就报错,找不到libmysqlclient.so.18: cannot open shared object file:............

    原因

    先说一下原因:/usr/lib64/mysql/(或者/usr/lib/)路径下缺少libmysqlclient.so.18文件

    排查

    • 大家可以用find / -name 'libmysqlclient*'找自己机器上的libmysqlclient文件,一般这个文件的版本都大于18,现在的mysql进行安装时,默认带的libmysqlclient.so.18文件都是>18,并且!如果是二进制安装的话,是不会放在/usr/lib64/mysql下的,会放在你自己指定的解压路径下的lib目录中。

    奇怪之处

    • 我自己有时候安装zabbix又可以正常启动zabbix-server,有时候又不行,报的错都是缺少这个文件

    根本原因

    • 排查发现,系统/usr/lib64/mysql/路径下的libmysqlclient.so.18文件是centos自带的mariadb所拥有的,所以在安装zabbix的时候,如果我没有卸载mariadb,那么zabbix也就能正常启动。

    解决方法

    • 第一步:从另一台机器上拷贝mariadb所带的libmysqlclient.so.18.0.0(就在/usr/lib64/mysql下)
    • 第二步:在zabbix主机上,软链接拷贝来的libmysqlclient.so.18.0.0/usr/lib64/mysql/下,如果不行,再软链接到/usr/lib64/下,再不行,再软链接到/usr/lib/下(注意,软链接文件命名为libmysqlclient.so.18)
    • 第三步:重新启动zabbix-server-mysql
  • 相关阅读:
    日志规范实践
    序列化和反序列化及Protobuf 基本使用
    简述TCP网络编程本质
    笔记:多线程服务器的适用场合(1)
    聊聊同步、异步、阻塞与非阻塞(转)
    《EntrePreneur》发刊词
    make和makefile简明基础
    luogu P3687 [ZJOI2017]仙人掌 |树形dp
    luogu P3172 [CQOI2015]选数 |容斥原理
    luogu P4513 小白逛公园 |线段树
  • 原文地址:https://www.cnblogs.com/dbsqler/p/13919492.html
Copyright © 2020-2023  润新知