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!
推薦閱讀:
- mysql5.7使用binlog 恢復數據的方法
- MySQL數據庫通過Binlog恢復數據的詳細步驟
- MySQL系列之十一 日志記錄
- mysql如何開啟各種日志
- MySQL中CURRENT_TIMESTAMP的使用方式