MYSQL如何查看操作日志詳解

前言

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查看操作日志內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: