首頁 > 軟體

MYSQL如何檢視操作紀錄檔詳解

2022-05-29 22:02:31

前言

mysql操作紀錄檔分為檔案記錄紀錄檔和資料庫記錄紀錄檔兩種方式,最終效果一樣

一、檔案記錄資料庫操作紀錄檔

進入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;

附:按時間段檢視mysql的操作紀錄檔

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如何檢視操作紀錄檔的文章就介紹到這了,更多相關MYSQL檢視操作紀錄檔內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com