MYSQL如何查看操作日志詳解
前言
mysql操作日志分為文件記錄日志和數(shù)據(jù)庫記錄日志兩種方式,最終效果一樣
一、文件記錄數(shù)據(jù)庫操作日志
進入mysql查詢界面,輸入指令:
SHOW VARIABLES LIKE 'gen%';
可以看到general_log的狀態(tài)是開啟還是關閉,以及所屬賬號的general_log文件存放的目錄。
如果general_log未開啟,則先開啟,執(zhí)行命令:
SET GLOBAL general_log=ON;
然后可以到對應的general_log目錄下去看執(zhí)行日志。
二、數(shù)據(jù)庫表記錄操作日志
首先執(zhí)行命令:
SHOW VARIABLES LIKE 'log_output';
默認是FILE的方式,執(zhí)行命令,修改成TABLE方式:
SET GLOBAL log_output='TABLE';
然后可以通過命令查詢操作日志:
SELECT * FROM mysql.general_log;
使用數(shù)據(jù)庫表記錄操作日志會增加數(shù)據(jù)的壓力,因此建議使用文件記錄操作日志:
SET GLOBAL log_output='FILE'; TRUNCATE TABLE mysql.log_output;
附:按時間段查看mysql的操作日志
1、登錄mysql安裝的那臺機器,找到my.cnf.我的my.cnf文件在etc地下,所有執(zhí)行 cat /etc/my.cnf ,看到如圖所示的binlogs存放位置
2、進入日志所在目錄 cd /home/mysql/logs/binlogs, 輸入ls -al 查看需要查看的binlogs產(chǎn)生的時間。
3、如果需要查詢2017-09-17 07:21:09到2017-09-19 07:59:50 數(shù)據(jù)庫為geeRunner 的操作日志,輸入如下命令將數(shù)據(jù)寫入到一個備用的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所在機器,將數(shù)據(jù)取出來。
6、如果需要過濾,只查詢insert,update,delete的語句,可以這樣寫:
mysqlbinlog --no-defaults --database=raceEnroll binlogs.000078 |grep update |more
總結
到此這篇關于MYSQL如何查看操作日志的文章就介紹到這了,更多相關MYSQL查看操作日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL使用show status查看MySQL服務器狀態(tài)信息
這篇文章主要介紹了MySQL使用show status查看MySQL服務器狀態(tài)信息,需要的朋友可以參考下2017-01-01Windows下mysql-5.7.28下載、安裝、配置教程圖文詳解
這篇文章主要介紹了Windows下mysql-5.7.28下載、安裝、配置教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12