MySql Trace
2015-09-25
1 版本簡要
2 在線設置
2.1 打開命令列界面
2.2 設置參數
3 查看結果
在MsSQL Server中我們要追蹤SQL,只需要開啟MS SQL中的事件追蹤器(Server Profiler)就可以了,而且設置非常的方便。
在MySQL中,也能追蹤SQL。但是需要做一些設置,且沒有界面,執行的sql保存在log文本中。
1 版本簡要
要啟用MySQL的Sql Trace,需要啟用查詢日志功能,各個版本操作不一,下面簡要說明:
- 在MySql5.1.12之前,在my.cnf或者my.ini中的[mysqld]節下配置:
log = /path/for/file/live-query.log
- 而在MySql 5.1.12中,你需要在上述配置文件中的[mysqld]中配置:
general_log=1
- MySql 5.1.29中,包括之后版本,你就需要再加上一句:
general_log_file = /path/for/file/live-query.log
2 在線設置
以上參數都是可以在線設置的(也就是說,不用為修改設置而重啟MySql)。
2.1 打開命令列界面
mysql數據庫管理工具(navicat for mysql) -> 右擊服務器 -> 點擊 '命令列介面'
圖1 打開命令列界面
2.2 設置參數
-- 查看MySQL的版本號 select version(); -- 查詢關於log的設置 (若版本號為 ‘5.1.29’以上版本 like 'general_log%') SHOW VARIABLES LIKE 'general_log%'; -- 開啟日志 SET GLOBAL general_log ='ON'; -- 設置日志的文件路徑:本例在Windows下 SET GLOBAL general_log_file='D:/MySql/Sql.log'; -- 設置結束,執行的sql語句會保存在‘D:/MySql/Sql.log’,可通過notepad++查看
圖2 運行結果
3 查看結果
打開保存的log文本,查看執行的sql語句