sql server有一個sql profiler可以實時跟蹤伺服器執行的sql語句,這在很多時候調試錯誤非常有用。例如:别人寫的複雜代碼、生産系統、無調試環境、無原代碼... ...
查了一下資料,my sql可以用下面方法跟蹤sql 語句,以下方法以windows平台為例,linux雷同:
1 配置my.ini檔案(在安裝目錄,linux下檔案名為my.cnf)
查找到[mysqld]區段,增加日志的配置,如下示例:
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清除文本後儲存,可以繼續記錄日志。(怪怪的,也不建議用)