ライブMySQLクエリを表示するにはどうすればいいですか? 質問する

ライブMySQLクエリを表示するにはどうすればいいですか? 質問する

Linux サーバー上で発生した MySQL クエリをトレースするにはどうすればよいでしょうか?

たとえば、何らかのリスナーを設定し、Web ページを要求してエンジンが実行したすべてのクエリを表示したり、実稼働サーバー上で実行されているすべてのクエリを表示したりしたいのですが、どうすればよいでしょうか?

ベストアンサー1

すべてのクエリをログ ファイルに簡単に記録できます。

mysql> SHOW VARIABLES LIKE "general_log%";

+------------------+----------------------------+
| Variable_name    | Value                      |
+------------------+----------------------------+
| general_log      | OFF                        |
| general_log_file | /var/run/mysqld/mysqld.log |
+------------------+----------------------------+

mysql> SET GLOBAL general_log = 'ON';

クエリを実行します(任意のデータベースで)。Grepまたはその他の方法で調べます/var/run/mysqld/mysqld.log

それから忘れないで

mysql> SET GLOBAL general_log = 'OFF';

そうしないと、パフォーマンスが急激に低下し、ディスクがいっぱいになってしまいます。

おすすめ記事