あなたは、本番データベースのサーバを持っている、とあなたは、クエリログを有効にすることはできません...それでは、どのようにデータベースに対して実行されるクエリを参照してくださいか?
答え:MySQLのパケットを解析し、それらをデコードするために変更されたネットワークスニファを使用する。あなたは、コンパイルはほとんど行う必要があるでしょうが、それはそれの価値があるでしょう。あなたが試しに歓迎されていますが、これは通常、ローカル接続に使用できないので注意してください。
まず、アプリケーションがネットワークパケットをスニッフィングできるようにする開発ライブラリですのlibpcap - devをインストールする必要があります。
須藤はapt - getをインストールするのlibpcap - devパッケージ
今度は、ディレクトリを作成できるように、ソースコードをダウンロードしてコンパイル
MKDIR mysqlsniffer
CD mysqlsniffer
wgetのhackmysql.com /コード/ mysqlsniffer.tgz
タールxvfz mysqlsniffer.tgz
gccの- O2 - lpcap - O mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c
この時点で、我々はソースディレクトリでmysqlsnifferという光沢のある新しい実行可能ファイルを持っている。好きな場所は(どこかにパスするのに有用となる)、それをコピーすることができます
mysqlsnifferを実行するには、MySQLがリッスンしているネットワークインタフェースを指定する必要があります。私にとって、それはeth0です。
eth0をsudoを/パス/に/ mysqlsniffer
スタッフの負荷がで飛行着工...我々は単にクエリではなく、すべての余分なデータを得ることができるので、もう少しそれを除外してみましょう。
$ sudoを/パス/ / mysqlsniffer - NO - mysqlの- HDRSはeth0へ| grepをCOM_QUERY
192.168.73.1.2622>サーバ:COM_QUERY:SELECT @ @ sql_modeの
192.168.73.1.2622>サーバ:COM_QUERY:をSET SESSION sql_modeの="
192.168.73.1.2622>サーバ:COM_QUERY:のSET NAMES utf8を
192.168.73.1.1636>サーバ:COM_QUERY:SELECT @ @ SQL_MODE
192.168.73.1.1636>サーバ:COM_QUERY:。``db2842_howto``wp_usersからFULL COLUMNSを、SHOW
ああ、今そこに我々は... MySQLを再起動することなく、クエリ情報のあらゆる種類の、。
ここにコマンドの完全なオプションは次のとおりです。
使用法:mysqlsniffer [OPTIONS] INTERFACE
OPTIONS:
ポートNポート番号N(デフォルトは3306)上でMySQLをリッスン
- verboseは余分なパケット情報を表示する
- TCP - CTRLショーTCPコントロールパケット(SYN、FIN、RST、ACK)
- NET - HDRSは、主要なIPおよびTCPヘッダーの値を表示する
- NO - mysqlの- HDRSはMySQLのヘッダ(パケットIDと長さ)表示しない
状態の表示状態
- V40のMySQLサーバはバージョン4.0です。
十六進法ですべてのパケットをダンプダンプ
このを印刷する - 助け
元のソースコードと、より多くの情報:
http://goo.gl/eWzrN
開発サーバー上で実行されている場合、それは単にする方が簡単です クエリのログ記録をオンにする.
0 件のコメント:
コメントを投稿