前言

最近工作使用到MySQL,加上專案有使用到ORM相關工具,導致執行語法,不能很直觀的追蹤到,這邊會教你如何開啟MySQL的語法執行紀錄。

設定

確認log的啟用狀態

show variables like 'general%';

如果general_logON,代表你已經開啟了,只要確認存到哪裡去即可。

開啟general_log

SET global log_output = 'table';
-- 寫入至mysql.general_log,預設是寫入file內。
SET global general_log=1;
-- 開啟general_log。

這邊的話,如果是自己測試用,我個人會把log寫入至Table,這樣在查詢時比較方便,但建議沒在使用的時候記得關閉,會佔用相當大的容量。

查詢語法

SELECT
    *
FROM
    mysql.general_log;
CONVERT(sql_text USING utf8);
-- blob型態的可以用這個語法轉換。

心得

在轉換各種環境時,常常需要Ready各式的測試方式,但其實大同小異,如果接下來有時間的話,我在整理slow_query在production環境上的設定,供大家參考。

標籤:

分類:

更新時間:

留言