十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
MySQL5.6版本后提供了對SQL的跟蹤工具trace,通過使用trace可以讓我們明白optimizer如何選擇執(zhí)行計劃的。
創(chuàng)新互聯主要從事網頁設計、PC網站建設(電腦版網站建設)、wap網站建設(手機版網站建設)、成都響應式網站建設、程序開發(fā)、網站優(yōu)化、微網站、微信小程序開發(fā)等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業(yè)積累了豐富的網站設計制作、成都網站設計、網站設計、網絡營銷經驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。
使用過程:
配置文件開啟二進制日志,log-bin[=dir/[filename]] 或者set sql_log_bin=1開啟,set sql_log_bin=0關閉。進入二進制文件目錄,用mysqlbinlog命令查看二進制日志文件。同樣的,開啟通用日志文件也可以追蹤用戶操作記錄。
這個可以借助工具了,如mysql抓包工具 MySQL Sniffer
效果就是,訪問數據庫的來源ip,訪問的庫,表,sql這樣的,如下:
在MsSQL Server中我們要追蹤SQL,只需要開啟MS SQL中的事件追蹤器(SQL Server Profiler)就可以了,而且設置非常的方便。但在MySQL中要實現類似功能需要做些處理,而且操作也比較繁瑣 —— 鼠標黨,被MS毀了。
要啟用MySQL的Sql Trace,需要啟用查詢日志功能,各個版本操作不一,下面簡要說明:
在MySql5.1.12之前
在my點吸煙 f或者my.ini中的[mysqld]節(jié)下配置:
log?=?/path/for/file/live-query.log
而這些所有的參數都是可以在線設置的,也就是說,如果你不想因為修改設置而重啟MySql的話,那么在線設置應該是個更好的選擇,在進入MySql的操作中:
--這里按照最新版本來設置
--查詢關于log的設置
SHOW?VARIABLES?LIKE?'general_log%';
/×
返回結果類似:
+------------------+------------------------------------------------------------
------------------+
|?Variable_name????|?Value
|
+------------------+------------------------------------------------------------
------------------+
|?general_log??????|?OFF
|
|?general_log_file?|?dev-mc.log
|
+------------------+------------------------------------------------------------
------------------+
2?rows?in?set?(0.00?sec)
注意,general_log_file?的默認值是'機器名'.log
*/
--?開啟日志
SET?GLOBAL?general_log?='ON';
--?設置日志的文件路徑:本例在Windows下
SET?GLOBAL?general_log_file='D:/MySql/live-query.log';
--?設置完之后,就已經生效了