開啟日志模式
說明:
開啟 general log 將所有到達MySQL Server的SQL語句記錄下來。
一般不會開啟開功能,因為log的量會非常龐大。但個別情況下可能會臨時的開一會兒general log以供排障使用。
1、臨時開啟設置,重啟失效
SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON'; //日志開啟 SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF'; //日志關閉 show variables like 'general_log'; //查看是否開啟 show variables like 'general_log_file'; -- 看看日志文件保存位置 set global general_log_file='tmp/general.lg'; -- 設置日志文件保存位置 show variables like 'log_output'; -- 看看日志輸出類型 table或file set global log_output='table'; -- 設置輸出類型為 table set global log_output='file'; -- 設置輸出類型為file
說明: log_output=’FILE’ 表示將日志存入文件,默認值是FILE log_output=’TABLE’表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中. mysql數據庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output=‘FILE,TABLE‘.日志記錄到系統專用日志表中,要比記錄到文件耗費更多的系統資源,因此對於需要啟用慢查日志,又需要比夠獲得更高的系統性能,那么建議優先記錄到文件.
要永久生效,則需要修改需要在my.cnf的【mysqld】中添加:general_log = 1
2、查詢
SELECT * from mysql.general_log ORDER BY event_time DESC;
3、清空表(delete對於這個表,不允許使用,只能用truncate)
truncate table mysql.general_log;
ps:在查詢到所需要的記錄之后,應盡快關閉日志模式,占用磁盤空間比較大