幫客之家(www.Bkjia.com)教程 SQL server有一個sql profiler可以實時跟蹤服務器執行的SQL語句,這在很多時候調試錯誤非常有用。例如:別人寫的復雜代碼、生產系統、無調試環境、無原代碼... ...
查了一下資料,My SQL可以用下面方法跟蹤sql 語句,以下方法以Windows平台為例,linux雷同:
1 配置my.ini文件(在安裝目錄,linux下文件名為my.cnf
查找到[mysqld]區段,增加日志的配置,如下示例:
[mysqld]
log="C:/temp/mysql.log"
log_slow_queries="C:/temp/mysql_slow.log"
long_query_time=1
log指示日志文件存放目錄;
log_slow_queries指示記錄執行時間長的sql日志目錄;
long_query_time指示多長時間算是執行時間長,單位s。
Linux下這些配置項應該已經存在,只是被注釋掉了,可以去掉注釋。但直接添加配置項也OK啦。
2 重新啟動mysql服務。
注意事項:
A 日志存放目錄必須提前存在,否則不能記錄日志。這裡也局勢C:/temp目錄必須已經存在
B 日志文件是linux格式的文本,建議用ultraEdit打開,轉換為dos格式查看(否則沒有換行,看不懂的)
C 服務在啟動狀態下不能刪除日志文件,否則就無法記錄sql語句了。
D 不能用ultraEdit直接清除文件內容後保存,否則也記錄不下來了。需要重啟服務,如果ultraEdit保存了.bak,後記錄到此文件中。
E 可以用notepad清除文本後保存,可以繼續記錄日志。