自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CentOS 7下MySQL Sniffer安裝總結(jié)

系統(tǒng) Linux
雖然官方文檔的安裝介紹非常簡(jiǎn)單,但是實(shí)際上,在CentOS 7下面安裝過(guò)程中問題多多,如果你沒有踩過(guò)這些坑的話,建議你看看下面我踩過(guò)的一些坑。

[[408065]]

本文轉(zhuǎn)載自微信公眾號(hào)「DBA閑思雜想錄」,作者瀟湘隱者。轉(zhuǎn)載本文請(qǐng)聯(lián)系DBA閑思雜想錄公眾號(hào)。

MySQL Sniffer這款抓包工具的安裝看似非常簡(jiǎn)單,官方的安裝介紹如下所示:

  1. git clone https://github.com/Qihoo360/mysql-sniffer 
  2. cd mysql-sniffer 
  3. mkdir proj 
  4. cd proj 
  5. cmake ../ 
  6. make 
  7. cd bin/ 

雖然官方文檔的安裝介紹非常簡(jiǎn)單,但是實(shí)際上,在CentOS 7下面安裝過(guò)程中問題多多,如果你沒有踩過(guò)這些坑的話,建議你看看下面我踩過(guò)的一些坑。下面測(cè)試環(huán)境為CentOS Linux release 7.5.1804,可能不同版本或環(huán)境有所區(qū)別,請(qǐng)以實(shí)際情況為準(zhǔn)。

  1. [root@KerryDB ~]# more /etc/redhat-release  
  2. CentOS Linux release 7.5.1804 (Core) 

官方文檔[1]中提示,MySQL Sniffer依賴這些包glib2-devel(2.28.8)、libpcap-devel(1.4.0)、libnet-devel(1.1.6),但是實(shí)際上它不僅僅只依賴這三個(gè)包,而是下面一堆包。

  1. yum install cmake 
  2. yum install libpcap-devel 
  3. yum install glib2-devel 
  4. yum install libnet-devel 
  5. yum install gcc 
  6. yum install gcc-c++ 

在安裝前,你必須執(zhí)行下面腳本檢查是否缺少相關(guān)依賴包,避免踩到一些坑。

  1. yum list installed | grep -E "cmake|libpcap-devel|glib2-devel|libnet-devel|gcc|gcc-c++" 

下面是成功安裝后,查詢依賴包的信息:

  1. [root@KerryDB ~]# yum list installed | grep -E "cmake|libpcap-devel|glib2-devel|libnet-devel|gcc|gcc-c++" 
  2. cmake.x86_64                           2.8.12.2-2.el7                  @base     
  3. gcc.x86_64                             4.8.5-44.el7                    @base     
  4. gcc-c++.x86_64                         4.8.5-44.el7                    @base     
  5. glib2-devel.x86_64                     2.56.1-9.el7_9                  @updates  
  6. libgcc.x86_64                          4.8.5-44.el7                    @base     
  7. libnet-devel.x86_64                    1.1.6-7.el7                     @base     
  8. libpcap-devel.x86_64                   14:1.5.3-12.el7                 @base  

下面是我安裝過(guò)程中踩到的一些坑,如下所示,cmake編譯安裝過(guò)程中報(bào)錯(cuò),具體錯(cuò)誤信息如下截圖所示

"fatal error: libnet.h: No such file or directory"這個(gè)錯(cuò)誤是因?yàn)槿鄙賚ibnet-devel包,這里是因?yàn)椴樵凃?yàn)證時(shí)遺漏了這個(gè)包。安裝下面libnet-devel包后,上面錯(cuò)誤解決。

  1. # yum install libnet-devel 

然后cmake編譯安裝依然報(bào)錯(cuò):CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. 這里是因?yàn)槿鄙侔黦cc-c++包

注意,CentOS下的g++安裝包的名字叫做gcc-c++,這是與Centos與Ubuntu不同的地方。安裝命令如下:

  1. #yum install gcc gcc-c++ 

然后cmake編譯成功。

但是make編譯安裝時(shí),出現(xiàn)下面錯(cuò)誤

  1. [root@KerryDB proj]# make 
  2. Scanning dependencies of target mysql-sniffer 
  3. [ 16%] Building C object bin/CMakeFiles/mysql-sniffer.dir/main.c.o 
  4. [ 33%] Building C object bin/CMakeFiles/mysql-sniffer.dir/mysql-dissector.c.o 
  5. /root/klb/mysql-sniffer/src/mysql-dissector.c: In function ‘decode_mysql_lenenc_int’: 
  6. /root/klb/mysql-sniffer/src/mysql-dissector.c:112:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 
  7.      return *(int*)value; 
  8.      ^ 
  9. [ 50%] Building C object bin/CMakeFiles/mysql-sniffer.dir/util.c.o 
  10. [ 66%] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/session.cpp.o 
  11. [ 83%] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/sniff-config.cpp.o 
  12. /root/klb/mysql-sniffer/src/sniff-config.cpp: In function ‘int parse_cmdline_option(intchar**)’: 
  13. /root/klb/mysql-sniffer/src/sniff-config.cpp:183:9: warning: variable ‘opt_len’ set but not used [-Wunused-but-set-variable] 
  14.      int opt_len; 
  15.          ^ 
  16. [100%] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/sniff-log.cpp.o 
  17. Linking CXX executable mysql-sniffer 
  18. /usr/bin/ld: /root/klb/mysql-sniffer/lib/libgthread-2.0.a(gthread-impl.o): undefined reference to symbol 'pthread_setspecific@@GLIBC_2.2.5' 
  19. //usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line 
  20. collect2: error: ld returned 1 exit status 
  21. make[2]: *** [bin/mysql-sniffer] Error 1 
  22. make[1]: *** [bin/CMakeFiles/mysql-sniffer.dir/all] Error 2 
  23. make: *** [all] Error 2 

"make 報(bào)錯(cuò) #30"[2]中,提示通過(guò)修改配置文件mysql-sniffer/src/CMakeLists.txt來(lái)解決

修改前

修改后

重新編譯安裝就OK了,MySQL Sniffer順利編譯成功。

參考資料

[1]mysql-sniff: https://github.com/Qihoo360/mysql-sniffer

[2]make 報(bào)錯(cuò) #30: https://github.com/Qihoo360/mysql-sniffer/issues/30

 

責(zé)任編輯:武曉燕 來(lái)源: DBA閑思雜想錄
相關(guān)推薦

2017-07-05 15:00:51

CentosLinuxMysql

2010-03-31 13:04:37

CentOS安裝

2013-04-10 15:12:03

MySQL 5.6

2012-07-11 17:09:34

Windows 7CentOS

2012-09-21 10:36:00

Win 7Fedora 16

2021-07-09 07:40:06

CentOS 7GitLab開源

2020-11-03 14:50:18

CentOSMySQL 8.0數(shù)去庫(kù)

2011-09-09 16:22:21

centosHandlerSock

2011-03-02 09:52:03

2022-12-02 11:37:47

2011-03-16 12:29:41

2022-02-14 07:47:30

巡風(fēng)CentOS7漏洞掃描

2023-11-09 07:44:21

2010-10-09 10:21:09

2010-03-30 18:21:38

CentOS系統(tǒng)

2011-03-10 15:44:18

CentOSLAMP安裝

2011-03-10 15:44:18

CentOSLAMP安裝

2014-11-28 11:20:54

LEMPNginxMariaDB

2014-10-09 10:04:23

CentOS集群

2021-08-11 06:16:27

CentOS 7 MongodbC++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)