磨刀不誤砍柴工-Windows下MySQL日誌查看

緣起

近日在研究MyBatis的緩存機制,作爲前置條件,自然要了解一些JDBC的緩存機制,比如PreparedStatement就是JDBC緩存的一個體現,將預編譯的SQL語句緩存在服務端數據庫中,當然這是後話。
想要直觀的看到PreparedStatement預編譯的動作自然想到日誌,畢竟日誌分級就是爲了記錄所有服務端的操作信息。習慣了在Linux服務器下查看各種日誌信息,現在想在家裏的windows電腦上模擬一個這樣的環境,希望能對回家後還會寫點東西且沒有遠程linux服務器可以給你調用的同學有點幫助。

開啓MySQL日誌功能
MySQL服務端安裝後,打開其命令行客戶端工具,也就是command line client。
這裏寫圖片描述

輸入安裝時設置的密碼後,進入mysql命令行,這個大家應該都知道。
輸入
show variables like “log%”;
可以看到,MySQL安裝後,日誌功能是默認關閉的

這裏寫圖片描述


接下來就是如何打開MySQL的日誌功能,找到MySQL安裝目錄下的my.ini文件,經常修改MySQL服務端配置的同學對這個文件肯定不陌生,就好比於我們集成MyEclipse/Eclipse的插件經常會去修改myeclipse.ini文件一樣。

打開my.ini,找到[msqld]部分,加入以下命令
[mysql]
log=”F:\Studio\MySQL\logs”,這個地址就是我們設置存放logs文件的路徑。

# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
#
[mysqld]
log="F:\Studio\MySQL\logs\mysql.log"

這裏寫圖片描述

修改保存後,重啓mysql服務,再次輸入查看日誌相關配置的命令
mysql> show variables like “log%”;

應該就可以看到
這裏寫圖片描述


一切順利的話,此時打開配置的日誌路徑,就能看到目錄下的mysql.log文件了
這裏寫圖片描述


看到這裏,不管是做開發還是做運維的同學是不是不由想到了什麼,好熟悉的.log文件,看到這個後綴的文件就會忍不住想tail -f xxx.log,是不是!

當然,如果此時你興沖沖地打開cmd,進入mysql.log,只會是下面這個結果。
這裏寫圖片描述

這個肯定是能預料到的,因爲你的windows啊,大哥!所以你需要讓windows系統識別tail命令。

tail.exe下載地址

下載tail.exe,把tail.exe放到c:\windows\system32\目錄下,就可以在命令行中使用tail命令了。
這裏寫圖片描述
在這裏就我們就可以看到MySQL的查詢日誌了,當然還有很多其他級別的日誌。


錯誤日誌: -log-err
查詢日誌: -log
慢查詢日誌: -log-slow-queries
更新日誌: -log-update
二進制日誌: -log-bin


打開這些日誌的方式和上面所展示的-log一樣,在此就不贅述,有了日誌平臺,我們就可以更加直觀地捕捉MySQL做了哪些事,爲我們理解相關的ORM持久化框架的底層機制提供了很多信息上的幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章