1

mysqlサーバーは、実行されたクエリの記録を保持しますか?保持している場合、それらのクエリを取得することは可能ですか?

ありがとう。

4

4 に答える 4

2

実行されたすべてのクエリの記録を保持する場合は、一般クエリログまたは低速クエリログのいずれかを有効にして、しきい値を0秒に設定できます(0秒を超えるクエリはすべてログに記録されます)。

もう1つのオプションは、バイナリログです。ただし、バイナリログは、データを変更しない、SELECTまたは変更しないクエリの記録を保持SHOWしません。

これらのログは、トラフィックのあるサーバーではかなり速く大きくなることに注意してください。また、両方にパスワードが含まれている可能性があるため、許可されていない目から保護する必要があります。

于 2012-04-20T10:39:40.020 に答える
2

すべてのクエリをプレーンテキストでログに記録する一般クエリログを使用できます。

これは、開発環境でのみ有効になっています。オフピーク時に本番サーバーで一時的にこれをオンにしても問題はありません。

遅いクエリを探している場合は、遅いクエリログを使用することもできます

于 2012-04-20T10:56:41.743 に答える
1

クライアントアプリとRDBMS自体の間にあるMySQLプロキシを使用できます。

http://forge.mysql.com/wiki/MySQL_Proxy

オンラインクエリを表示でき、ルールに基づいてクエリを書き直すこともできます。

于 2012-04-20T11:00:47.167 に答える
0

別のオプションがあります-プロファイラーを使用します。

例:http ://www.jetprofiler.com/

于 2012-04-20T11:02:16.663 に答える