samedi 25 février 2012

Skladba MySQL Dotazy s mysqlsniffer na Ubuntu

Máš výroby databázový server a nemůžete povolit protokolování dotaz ... Jak tedy vidíte, že dotazy provedeny proti databázi?

Odpověď: použít upravený síťový sniffer vyřadil MySQL pakety a dekódovat. Budete muset udělat trochu kompilaci, ale bude to stát za to. Všimněte si, že to nebude obvykle pracují pro místní připojení, i když jste vítáni vyzkoušet.

Nejprve je nutné nainstalovat libpcap-dev, což je knihovna, která umožňuje vývoj aplikace sniff síťové pakety.

sudo apt-get install-dev libpcap

Nyní se pojďme udělat adresář, stáhněte si zdrojový kód a zkompilovat

mkdir mysqlsniffer

CD mysqlsniffer

wget hackmysql.com / code / mysqlsniffer.tgz

tar xvfz mysqlsniffer.tgz

gcc-O2-o-lpcap mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c

V tuto chvíli máme zbrusu nový spustitelný soubor s názvem mysqlsniffer v našem adresáři se zdrojovými kódy. Můžete kopírovat všude tam, kde se vám líbí (někde na cestě by bylo užitečné)

Chcete-li spustit mysqlsniffer, musíte zadat síťové rozhraní, které MySQL naslouchá. Pro mě je to eth0.

sudo / cesta / k / mysqlsniffer eth0

Spousta věcí začíná létání ... Pojďme filtr to trochu více, takže můžeme jen získat dotazy a ne všechny nadbytečná data.

$ Sudo / cesta / k / mysqlsniffer-no-mysql-hdrs eth0 | grep COM_QUERY

192.168.73.1.2622> server: COM_QUERY: SELECT @ @ sql_mode
192.168.73.1.2622> server: COM_QUERY: relace, sql_mode = "
192.168.73.1.2622> server: COM_QUERY: SET NAMES utf8
192.168.73.1.1636> server: COM_QUERY: SELECT @ @ SQL_MODE
192.168.73.1.1636> server: COM_QUERY:. Zobrazit celý sloupce `db2842_howto` `` wp_users

Aha, teď jsme ... všechny druhy získávání informací, aniž by bylo nutné restartovat MySQL.

Zde je kompletní možnosti pro příkaz:

Použití: mysqlsniffer [OPTIONS] interface

OPTIONS:
-Port N Poslouchejte MySQL z portu N (výchozí 3306)
-Verbose Zobrazit další informace o paketu
-Tcp-Ctrl Zobrazit TCP kontrolu paketů (SYN, FIN, RST, ACK)
-Net-hdrs Zobrazit hlavní IP a TCP hlavičky hodnoty
-No-mysql-hdrs Nezobrazovat MySQL header (paketu ID a délka)
Zobrazit stavu stavu
-V40 MySQL server verze 4.0
-Dump výpis všech paketů v hex
-Help Vytisknout

Originální zdrojový kód a další informace na adrese:
http://goo.gl/eWzrN

Pokud jsou spuštěny na vývoji serveru, bylo by jednodušší zapnout logování dotazů.

Aucun commentaire:

Enregistrer un commentaire