设为首页 收藏本站
查看: 1772|回复: 0

Nagios监控mysql从库报错: libmysqlclient.so.18: cannot open shared objec...

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-15 11:25:28 | 显示全部楼层 |阅读模式
做mysql的slave监控的时候,需要check_mysql脚本,check的时候报错:
error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

1,错误信息如下:
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql -uadmin -P3306 -S /data/mbdata/open/mysql.sock -H127.0.0.1 -pxxxxx -d openshop -w 300 -c 360
/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[iyunv@slave ~]#

2,执行check_mysql --help看下命令,发现也不行。
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql --help  
/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory  
[iyunv@slave ~]#   

3,查看一下报错的libmysqlclient.so.18文件是否存在:
[iyunv@db-m1-slave-1 ~]# find / -name libmysqlclient.so.18
/mysql-5.6.12/libmysql/libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
文件存在,但是无法识别。


4,可能是libmysqlclient的问题
搜索mysqlclient library linkage problem。
找到文章地址:http://stackoverflow.com/questio ... ary-linkage-problem
发现有/etc/ld.so.conf.d/mysql-x86_64.conf这样一个配置文件,打开看看
cat /etc/ld.so.conf.d/mysql-x86_64.conf

[iyunv@slave ~]# cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql

进入目录/usr/lib64/mysql查看下有什么文件:
[iyunv@slave ~]# ll /usr/lib64/mysql
总用量 3108
lrwxrwxrwx. 1 root root      26 9月  29 2013 libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0
-rwxr-xr-x. 1 root root 1595176 12月  8 2012 libmysqlclient_r.so.16.0.0
lrwxrwxrwx. 1 root root      24 9月  29 2013 libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
-rwxr-xr-x. 1 root root 1582952 12月  8 2012 libmysqlclient.so.16.0.0
有一些软连接,而且带了后缀表示so.16之类的,但是没有so.18之类,看来是没有连接到这里,
可能是需要做一个软连接把/usr/local/mysql/lib/libmysqlclient.so.18变成/usr/lib64/libmysqlclient.so.18,
马上去做软连接:ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18,然后再check下,check成功如下所示:

[iyunv@slave ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18  
[iyunv@slave ~]#   
[iyunv@slave ~]#   
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql --help  
check_mysql v2.0 (nagios-plugins 2.0)  
Copyright (c) 1999-2014 Nagios Plugin Development Team  
    <devel@nagios-plugins.org>  
This program tests connections to a MySQL server  
Usage:  
check_mysql [-d database] [-H host] [-P port] [-s socket]  
       [-u user] [-p password] [-S] [-l] [-a cert] [-k key]  
       [-C ca-cert] [-D ca-dir] [-L ciphers] [-f optfile] [-g group]  


Options:  
-h, --help  
    Print detailed help screen  
-V, --version  
    Print version information  
--extra-opts=[section][@file]  
    Read options from an ini file. See  
    https://www.nagios-plugins.org/doc/extra-opts.html  
    for usage and examples.  
..................................  
-l, --ssl  
    Use ssl encryptation  
-C, --ca-cert=STRING  
    Path to CA signing the cert  
-a, --cert=STRING  
    Path to SSL certificate  
-k, --key=STRING  
    Path to private SSL key  
-D, --ca-dir=STRING  
    Path to CA directory  
-L, --ciphers=STRING  
    List of valid SSL ciphers  
.................................................  
Send email to help@nagios-plugins.org if you have questions regarding use  
of this software. To submit patches or suggest improvements, send email to  
devel@nagios-plugins.org  


[iyunv@slave ~]#   

5,继续执行check_mysql来check一下
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql -unagios -P3306 -S -H127.0.0.1 --password='xxx@0512' /usr/local/mysql/mysql.sock -d test -w 60 -c 100
slave query error: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation
[iyunv@slave ~]#
报账号错误,
check
slave query error: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation
账号错误,进入mysql界面赋予nagios账号权限
mysql> GRANT PROCESS, SUPER, REPLICATION CLIENT ON *.* TO nagios@'%' identified by 'xxx@0512';

6,再check
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql -unagios -P3306 -S -Hlocalhost --password='xxx@0512' -s /usr/local/mysql/mysql.sock -d test -w 60 -c 100
Slave IO: Yes Slave SQL: No Seconds Behind Master: (null)

mysql slave 检测失败,有错误信息:Slave IO: Yes Slave SQL: No Seconds Behind Master: (null)
进mysql窗口去看详细信息
[iyunv@slave ~]# mysql  
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 23  
Server version: 5.6.12-log Source distribution  

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  

Oracle is a registered trademark of Oracle Corporation and/or its  
affiliates. Other names may be trademarks of their respective  
owners.  

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  

mysql> show slave status\G  
*************************** 1. row ***************************  
               Slave_IO_State: Waiting for master to send event  
                  Master_Host: 10.xx.3.xx  
                  Master_User: repl  
                  Master_Port: 3306  
                Connect_Retry: 60  
              Master_Log_File: mysql-bin.010294  
          Read_Master_Log_Pos: 21764  
               Relay_Log_File: mysql-relay-bin.003125  
                Relay_Log_Pos: 91805  
        Relay_Master_Log_File: mysql-bin.010275  
             Slave_IO_Running: Yes  
            Slave_SQL_Running: No  
              Replicate_Do_DB: xx,xx_db,xxsystem  
          Replicate_Ignore_DB:   
           Replicate_Do_Table:   
       Replicate_Ignore_Table:   
      Replicate_Wild_Do_Table:   
  Replicate_Wild_Ignore_Table:   
                   Last_Errno: 1590  
                   Last_Error: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log  
                 Skip_Counter: 0  
          Exec_Master_Log_Pos: 91642  
              Relay_Log_Space: 1780004  
              Until_Condition: None  
               Until_Log_File:   
                Until_Log_Pos: 0  
           Master_SSL_Allowed: No  
           Master_SSL_CA_File:   
           Master_SSL_CA_Path:   
              Master_SSL_Cert:   
            Master_SSL_Cipher:   
               Master_SSL_Key:   
        Seconds_Behind_Master: NULL  
Master_SSL_Verify_Server_Cert: No  
                Last_IO_Errno: 0  
                Last_IO_Error:   
               Last_SQL_Errno: 1590  
               Last_SQL_Error: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log  
  Replicate_Ignore_Server_Ids:   
             Master_Server_Id: 71  
                  Master_UUID: 9b0dcf62-29f4-11e3-9471-677b33903869  
             Master_Info_File: mysql.slave_master_info  
                    SQL_Delay: 0  
          SQL_Remaining_Delay: NULL  
      Slave_SQL_Running_State:   
           Master_Retry_Count: 86400  
                  Master_Bind:   
      Last_IO_Error_Timestamp:   
     Last_SQL_Error_Timestamp: 140512 11:29:54  
               Master_SSL_Crl:   
           Master_SSL_Crlpath:   
           Retrieved_Gtid_Set:   
            Executed_Gtid_Set:   
                Auto_Position: 0  
1 row in set (0.00 sec)  
mysql>   

关于Slave IO: Yes Slave SQL: No Seconds Behind Master: (null),参考blog:  http://blog.iyunv.com/mchdba/article/details/25738991

7,slave重做之后,再check,slave状态是正常的。
# /usr/local/nagios/libexec/check_mysql -unagios -P3306 -S -s /usr/local/mysql/mysql.sock -Hlocalhost --password='xxx@0512' -d test -w 60 -c 100
[iyunv@slave ~]# /usr/local/nagios/libexec/check_mysql -unagios -P3306 -S -s /usr/local/mysql/mysql.sock -Hlocalhost --password='xxx@0512' -d test -w 60 -c 100   
Uptime: 18431321  Threads: 3  Questions: 1447646  Slow queries: 735  Opens: 18605  Flush tables: 1  Open tables: 214  Queries per second avg: 0.078 Slave IO: Yes Slave SQL: Yes Seconds Behind Master: 0|Connections=1380c;;; Open_files=32;;; Open_tables=214;;; Qcache_free_memory=66980240;;; Qcache_hits=778c;;; Qcache_inserts=5338c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=12516c;;; Qcache_queries_in_cache=34;;; Queries=1447647c;;; Questions=99727c;;; Table_locks_waited=0c;;; Threads_connected=1;;; Threads_running=1;;; Uptime=18431321c;;; 'seconds behind master'=0.000000s;60.000000;100.000000;  
[iyunv@db-m1-slave-1 ~]#   



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19192-1-1.html 上篇帖子: linux下安装nagios 下篇帖子: nagios介绍及Server安装 file cannot shared mysql 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表