美文网首页
error while loading shared libra

error while loading shared libra

作者: 前浪浪奔浪流 | 来源:发表于2022-06-01 12:14 被阅读0次

    今天做定时备份数据库,报错如下

    crond: /usr/sbin/sendmail: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
    

    mysql8.0是二进制包安装的,位置是/usr/local/mysql8下,然后我看了下/usr/local/mysql8/lib/下是没有libmysqlclient.so.18这个文件的.

    这时候你可以在其他安装了mysql数据库的服务器上查找下这个文件

    # find / -name libmysqlclient.so.18
    /usr/lib64/mysql/libmysqlclient.so.18
    
    ll /usr/lib64/mysql/
    总用量 19116
    lrwxrwxrwx  1 root root      20 2月   7 2021 libmysqlclient_r.so.18 -> libmysqlclient.so.18
    lrwxrwxrwx  1 root root      24 2月   7 2021 libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0
    lrwxrwxrwx  1 root root      24 2月   7 2021 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
    -rwxr-xr-x  1 root root 9578168 6月  10 2019 libmysqlclient.so.18.1.0
    lrwxrwxrwx  1 root root      25 2月   7 2021 libmysqlclient.so.20 -> libmysqlclient.so.20.3.14
    -rwxr-xr-x  1 root root 9989088 6月  10 2019 libmysqlclient.so.20.3.14
    drwxr-xr-x  4 root root      28 2月   7 2021 mecab
    drwxr-xr-x. 3 root root    4096 2月   7 2021 plugin
    

    此时将 libmysqlclient.so.18.1.0 这个文件下载下来然后上传到缺少libmysqlclient.so.18文件的服务器上的/usr/local/mysql8/lib/目录下,然后记得给执行权限和做本地软连接

    
    # chmod +x  libmysqlclient.so.18.1.0
    在本地创建文件软连接
    # ln -s libmysqlclient.so.18.1.0  libmysqlclient.so.18
    # chown mysql:mysql libmysqlclient.so.18*
    ll
    总用量 145904
    -rw-r--r-- 1 mysql mysql 106474328 12月 18 01:50 libmysqlclient.a
    lrwxrwxrwx 1 mysql mysql        20 12月 18 02:28 libmysqlclient.so -> libmysqlclient.so.21
    lrwxrwxrwx 1 root  root         24 6月   1 11:06 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
    -rwxr-xr-x 1 mysql mysql   9578168 6月   1 11:04 libmysqlclient.so.18.1.0
    lrwxrwxrwx 1 mysql mysql        25 12月 18 02:28 libmysqlclient.so.21 -> libmysqlclient.so.21.2.28
    -rwxr-xr-x 1 mysql mysql  33294176 12月 18 01:49 libmysqlclient.so.21.2.28
    -rw-r--r-- 1 mysql mysql     44630 12月 18 01:46 libmysqlservices.a
    drwxr-xr-x 4 mysql mysql        28 12月 18 02:28 mecab
    drwxr-xr-x 2 mysql mysql        28 12月 18 02:28 pkgconfig
    drwxr-xr-x 3 mysql mysql      4096 12月 18 02:28 plugin
    drwxr-xr-x 4 mysql mysql      4096 12月 18 02:28 private
    

    然后修改下/etc/ld.so.conf文件

    # cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    
    在/etc/ld.so.conf.d/下创建mysql.conf文件并加入/usr/local/mysql8/lib/
    # cat /etc/ld.so.conf.d/mysql.conf 
    /usr/local/mysql8/lib/
    

    再运行:/sbin/ldconfig -v 更新一下配置即可。

    /sbin/ldconfig -v
    

    这个时候报新的错误

    crond: sendmail: fatal: parameter inet_interfaces: no local interface found for ::1
    

    需要修改 /etc/postfix/main.cf配置文件,并重启postfix服务即可

    vim  /etc/postfix/main.cf
    发现配置为:
    inet_interfaces = localhost
    inet_protocols = all
    改成:
    inet_interfaces = all
    inet_protocols = all
    重新启动
    service postfix start
    

    参考文献:
    https://blog.csdn.net/weixin_44058932/article/details/105185155
    https://blog.csdn.net/zhanjianshinian/article/details/43964361

    相关文章

      网友评论

          本文标题:error while loading shared libra

          本文链接:https://www.haomeiwen.com/subject/sqrxmrtx.html