[解決済み] MySQL のライブクエリを表示するにはどうすればよいですか?
2022-03-18 09:52:37
質問
Linux サーバで MySQL クエリが発生したときに、それをトレースするにはどうすればよいですか?
例えば、ある種のリスナーをセットアップして、ウェブページをリクエストし、エンジンが実行したすべてのクエリを表示したり、本番サーバーで実行されているすべてのクエリを表示したいのです。 どうすればよいのでしょうか?
どのように解決するのですか?
MySQLのコマンドを実行することができます。
SHOW FULL PROCESSLIST;
を使えば、その時々に処理されているクエリを確認することができますが、おそらくあなたが期待しているようなことはできないでしょう。
サーバーを使用するすべてのアプリケーションを変更することなく履歴を取得する最善の方法は、おそらくトリガーを使用することです。クエリを実行するたびに、そのクエリがある種の履歴テーブルに挿入されるようにトリガーを設定し、この情報にアクセスするための別のページを作成することができます。
ただし、この場合、サーバー上のすべての動作がかなり遅くなることに注意してください。
INSERT
をクエリごとに追加しています。
編集:もう一つの選択肢は
一般的なクエリログ
しかし、フラットファイルに書き出すと、表示の柔軟性、特にリアルタイムでの表示の可能性が大きく損なわれます。もし、何が起こっているかを見るためのシンプルで簡単な方法をお望みなら、GQLを有効にしてから、実行中の
tail -f
をログファイル上で実行すればよいでしょう。
関連
-
MySQLインストールチュートリアル(Windows用)詳細
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] ずっとUTF-8
-
[解決済み] MySql でクエリ実行時に only_full_group_by に関連するエラーが発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
MySQLのWhereの使用方法について説明します。
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
群関数解の無効な使用
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] どのトランザクションが「テーブルメタデータのロック待ち」状態を引き起こしているかを確認するにはどうすればよいですか?
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する