クエリの履歴を表示するSQLコマンド


回答:


161

試す

 cat ~/.mysql_history

これにより、システムで実行されたすべてのmysqlコマンドが表示されます


2
すべてではありません、「パスワード」などの文字列を含む一部に対して抑制が発生します。
mckenzm

1
また、開いているMySQL CLIでも通常は最新ではないため、exitMySQLを使用してファイルを読み取る必要があります。
ジョエルメロン

1
このログインしているユーザによって実行されるのみ示すコマンド。
Christia

1
windowssでこれを行う方法
ßiansorÅ。Ålmerol2018

他のコマンドが抑制されたり、順序付けされていない可能性はありますか?そして、ログはリアルタイムで自己を更新しますか?
Drubio

32

MySQL> 5.1.11またはMariaDBの場合

  1. SET GLOBAL log_output = 'TABLE';
  2. SET GLOBAL general_log = 'ON';
  3. テーブルを見てください mysql.general_log

ログファイルに出力したい場合:

  1. SET GLOBAL log_output = "FILE";
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log"
  3. SET GLOBAL general_log = 'ON';

コメントのjeffmjackで述べられているように、これらの設定は、構成ファイルを編集しない限り(たとえば、編集/etc/mysql/my.cnfしてから再起動して変更を適用しない限り)、次のセッションの前に忘れられます。

今、あなたが望むなら tail -f /var/log/mysql/mysql.log

詳細はこちら:サーバーのシステム変数


3
上記の説明の一部:ここでのコピー/貼り付けコマンドは、MySQLの単一セッション用です。たとえば、対話型のMySQLコマンドラインからこれらを入力できます。それらをMySQLインスタンスの永続的な機能にしたい場合は、これらのコマンドを/etc/mysql/my.cnfに入れて、MySQLサービスを再起動する必要があります。
jeffmjack

/path/to/your/logfile.logが削除されると、SET GLOBAL general_log_file = "/path/to/your/logfile.log";再度実行するまで(または構成を編集した場合はセッションを再起動する可能性があります)、ロギングが停止することにも注意してください。
Skippy le Grand Gourou

21

(Linux)ターミナルを開きctrl+alt+t 、次のコマンドを実行します

 cat ~/.mysql_history

以前のmysqlクエリ履歴をすべて楽しむことができます:)


18

あなたはそこにそれを見つけるでしょう

~/.mysql_history

次のようにして(エスケープなしで)読みやすくします。

sed "s/\\\040/ /g" < .mysql_history

2

~/.myslgui/query-browser/history.xml ここを見てくださいmysql_query_browser (数日前)で行われた最後のクエリを見つけることができます


0

〜/ .mysql_historyから履歴を確認できます。ただし、ファイルのコンテンツはwctombによってエンコードされます。コンテンツを表示するには:

shell> cat〜/ .mysql_history | python2.7 -c "sysをインポートします; sys.stdinでlのprint( ''。join([l.decode( 'unicode-escape')for l]))" "

ソース:コマンドラインからMySQLクエリ履歴を確認します


-1

あなたは、クエリキャッシュを見ることができます。http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htmが、それはあなたの実際のクエリへのアクセス権を与えていない可能性がありますし、非常になりますうまくいった場合のヒット・アンド・ミス(意図的な微妙なしゃれ)

ただし、MySQLクエリブラウザは、MySQLエンジンの外部で、実行するクエリの独自のリストを保持している可能性が非常に高いです。アプリでも同じようにする必要があります。

編集:これにつながるdan mのコメントを参照してください:MySQLで実行された最後のクエリを表示するにはどうすればよいですか?音に見えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.