SQLで実行したクエリのログを見たい。
○一般クエリログの有効化
http://proengineer.internous.co.jp/content/columnfeature/7002
を参考に、一般クエリログの吐き出しを有効に。
my.iniの114行目、
“general-log=0” を”=1″に書き換えて、
MySQLサーバーを再起動すると、
datadir(97行目)以下にログが生成されるようになる。
起動から、”phpuesr”でログインして、
データベース”phptest”を選択して、
exitするまでのログ。
ただやっぱりこれ、クエリを実行したときに、
どんな感じでログが出てくるかというのを、
linuxのtailみたいな感じでリアルタイムで見たい。
いちいちファイルを開き直すのは面倒なので。
○Windowsでtailを実行する
参考サイト:Windows で tail -f する方法
PowerShell 3.0以上が必要らしい。
確認してみると。
PS > $PSVersionTable Name Value ---- ----- CLRVersion 2.0.50727.8762 BuildVersion 6.1.7601.17514 PSVersion 2.0 WSManStackVersion 2.0 PSCompatibleVersions {1.0, 2.0} SerializationVersion 1.1.0.1 PSRemotingProtocolVersion 2.1
バージョン2.0だね。Win7標準。
アップデートした記憶もないし。
なので、4.0のインストールから。
・.NET Framework 4.5
・WMF 4.0 (Windows Management Framework)
が必要みたいだけど、
コンパネの「プログラムと機能」で見ると、
.NET Frameworkは4.7が入ってるので、
WMFをダウンロードしてインストールすればいいのかな?
このPCはWin7 32bitなので、
Windows6.1-KB2819745-x86-MultiPkg.msuをダウンロード。
で、実行。
インストール後、PCを再起動して、
再度バージョン確認。
PS > $PSVersionTable Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.42000 BuildVersion 6.3.9600.16406 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0} PSRemotingProtocolVersion 2.2
バージョンアップ成功。
tailでログを表示させる。
PS > Get-Content -Path [パス]\[logファイル名].log -Tail 10 -Wait
一応出てきたけど、
ログが更新されるタイミングが、
メモ帳でファイルを開くときなのかな?
クエリを実行した時点では更新されなくて、
あんまり、リアルタイム感がない。
そもそも、リアルタイムで表示する
tailのオプションって何だったっけ?
-fでいいのか。
○PowerShell 5.0へのアップグレード
どうやら、PowerShellの-Tailオプションは、
バージョン5以降じゃなきゃ上手く機能しないらしい。
参考:[Powershell]tail -fしたい
なので、さらにバージョンアップ。
WMF 5.0をインストール。
https://qiita.com/busonx/items/2ebca42866833516c772
Win7-KB3134760-x86.msuをダウンロード。
インストール&再起動。
PS > $PSVersionTable Name Value ---- ----- PSVersion 5.0.10586.117 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.10586.117 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
再チャレンジ。
クエリを実行するごとに更新されるようになった。
○その他
というか、そもそも、
素直にCygwin使っとけば楽だったんだけどね。
Cygwin$ tail -f [パス]/[logファイル名].log
あとは、フリーソフトとかを使う方法もあるみたいだし。
http://xblood.hatenablog.com/entry/2016/11/10/000937