進入mysql查詢介面,輸入指令:
SHOW VARIABLES LIKE 'gen%';
可以看到general_log的狀態是開啟還是關閉,以及所屬帳號的general_log檔案存放的目錄。
如果general_log未開啟,則先開啟,執行指令:
SET GLOBAL general_log=ON;
然後可以到對應的general_log目錄下去看執行日誌。
首先執行指令:
SHOW VARIABLES LIKE 'log_output';
#預設是FILE的方式,執行指令,修改成TABLE方式:
SET GLOBAL log_output='TABLE';
然後可以透過命令查詢操作日誌:
SELECT * FROM mysql.general_log;
#使用資料庫表記錄操作日誌會增加資料的壓力,因此建議使用文件記錄操作日誌:
SET GLOBAL log_output='FILE'; TRUNCATE TABLE mysql.log_output;
#1、登入mysql安裝的那台機器,找到my.cnf.我的my.cnf檔案在etc地下,所有執行cat /etc/my.cnf ,看到如圖所示的binlogs存放位置
#2、進入日誌所在目錄cd /home/mysql/logs /binlogs, 輸入ls -al 查看需要查看的binlogs產生的時間。
3、如果需要查詢2017-09-17 07:21:09到2017-09-19 07:59:50 資料庫為geeRunner 的操作日誌,輸入如下指令將資料寫入到一個備用的txt即可。
mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 > sanjiaomao.txt
4、如果本地查詢,輸入命令
mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 | more
#5、如果取下來查詢,使用winscp工具,登入db所在機器,將數據取出來。
6、如果需要過濾,只查詢insert,update,delete的語句,可以這樣寫:
mysqlbinlog --no-defaults --database=raceEnroll binlogs.000078 |grep update |more
以上是MYSQL怎麼查看操作日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!