Nagios監控mysql從庫報錯:libmysqlclient.so.18: cannot open shared object file
做mysql的slave監控的時候,需要check_mysql指令碼,check的時候報錯:
error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
1,錯誤資訊如下:
[root@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
[root@slave ~]#
2,執行check_mysql --help看下命令,發現也不行。
3,檢視一下報錯的libmysqlclient.so.18檔案是否存在:
[root@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。
找到文章地址:
發現有/etc/ld.so.conf.d/mysql-x86_64.conf這樣一個配置檔案,開啟看看
cat /etc/ld.so.conf.d/mysql-x86_64.conf
[root@slave ~]# cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
進入目錄/usr/lib64/mysql檢視下有什麼檔案:
[root@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下。
5,繼續執行check_mysql來check一下
[root@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
[root@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
[root@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)
關於Slave IO: Yes Slave SQL: No Seconds Behind Master: (null),參考blog: http://blog.csdn.net/mchdba/article/details/25738991
error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
1,錯誤資訊如下:
[root@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
[root@slave ~]#
2,執行check_mysql --help看下命令,發現也不行。
[root@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 [root@slave ~]#
3,檢視一下報錯的libmysqlclient.so.18檔案是否存在:
[root@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。
找到文章地址:
發現有/etc/ld.so.conf.d/mysql-x86_64.conf這樣一個配置檔案,開啟看看
cat /etc/ld.so.conf.d/mysql-x86_64.conf
[root@slave ~]# cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
進入目錄/usr/lib64/mysql檢視下有什麼檔案:
[root@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下。
[root@slave ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 [root@slave ~]# [root@slave ~]# [root@slave ~]# /usr/local/nagios/libexec/check_mysql --help check_mysql v2.0 (nagios-plugins 2.0) Copyright (c) 1999-2014 Nagios Plugin Development TeamThis 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 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 [root@slave ~]#
5,繼續執行check_mysql來check一下
[root@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
[root@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
[root@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視窗去看詳細資訊:
[root@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.csdn.net/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
[root@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; [root@db-m1-slave-1 ~]#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1161322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 呼叫torchtext報錯OSError: libtorch_cpu.so: cannot open shared object file: No such file or directoryErrorObject
- libmysqlclient.so.16: cannot open shared object file: No such file or directoryIBMMySqlclientObject
- python libclntsh.so.12.1: cannot open shared object filePythonObject
- ImportError: libffi.so.7: cannot open shared object file: No such file or directoryImportErrorObject
- inplace-abn 報錯解決: ImportError: libcudart.so.9.0: cannot open shared object file: No such file or dirImportErrorDartObject
- Nginx安裝啟動過程報錯libpcre.so.1 cannot open shared object file: No such file or directoryNginxObject
- libcudart.so.8.0: cannot open shared object file解決方案DartObject
- ./XXX.XX: error while loading shared libraries: libGLEW.so.2.1: cannot open shared object file: NoErrorWhileObject
- CentOS7提示 libsasl2.so.2: cannot open shared object fileCentOSObject
- rpm: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such fi...ErrorWhileGCObject
- error while loading shared libraries: libpython3.7m(2.7).so.1.0: cannot open shared object file: NErrorWhilePythonObject
- 影片匯聚平臺EasyCVR啟動出現報錯“cannot open shared object file”的原因排查與解決VRObject
- error while loading shared libraries: libgsl.so.27: cannot open shared objectErrorWhileObject
- conda環境下ImportError: libmkl_intel_lp64.so.1: cannot open shared object file問題解決ImportErrorIBMIntelObject
- Error while loading shared libraries: libreadline.so.7: cannot open shared objecErrorWhileOBJ
- object dict cannot be used in await expression報錯解釋ObjectAIExpress
- tar (child): bzip2: Cannot exec: No such file or directory 報錯
- Cacti+Nagios監控平臺完美整合iOS
- Nagios+Centreon監控系統簡介iOS
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- MySQL 啟動報錯 error while loading shared librariesMySqlErrorWhile
- sqlserver bulk insert報錯Cannot bulk load because the file could not be opened.SQLServer
- 監控系統:深度對比Zabbix、Nagios、Pandora FMSiOS
- 使用Nagios打造專業的業務狀態監控iOS
- mysql報錯Changed limits: max_open_files: 5000MySqlMIT
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫
- 前端錯誤監控與上報前端
- 開源系統監控工具Nagios、Zabbix和Open-Falcon的功能特性彙總及優缺點比較iOS
- go 服務監控指標(metric)上報open-falconGo指標
- 7. 監控MySQL主從狀態MySql
- cannot instantiate QtProjectEngine objectQTProjectObject
- Shell指令碼監控MySQL主從狀態指令碼MySql
- MySQL啟動報錯:The server quit without updating PID fileMySqlServerUI
- 聊聊前端監控——錯誤監控篇前端
- zabbix6.2新增mysql資料庫監控MySql資料庫
- eclipse中:The type java.lang.object cannot be resolved錯誤(jdk配置錯誤)EclipseJavaObjectJDK
- allowedOrigins cannot contain the gateway 報錯AIGateway
- 從32位資料庫還原到64bit資料庫open的時候報錯資料庫