mysql如何查詢用戶操作日志
一、概述
先簡單介紹一下general log,這個(gè)日志主要的作用是記錄MySQL所有的SQL語句,不管是查詢語句,還是DML語句,還是DDL語句,還是DCL語句,這些語句統(tǒng)統(tǒng)都會(huì)被記錄在general log文件中,包括操作的用戶ip都會(huì)記錄在里面。
注意:
默認(rèn)情況下這個(gè)是關(guān)閉的,因?yàn)闀?huì)影響性能。
但是如果有遇到審計(jì)的話,需要審計(jì)數(shù)據(jù)的操作記錄之類的需求的話,還是可以打開使用的,里面就會(huì)記錄了哪些ip做了哪些語句。
二、配置
上面說了默認(rèn)是關(guān)閉的,有需要可以開啟,開啟的方式很簡單,需要修改一下mysql的配置文件,然后再重啟數(shù)據(jù)庫即可,如果是window系統(tǒng)的話,mysql的配置文件是my.ini,如果是linux的話,配置文件是my.cnf,注意區(qū)分。
先執(zhí)行語句查看自己是否有開啟
show variables like 'general_log'; -- 查看日志是否開啟 # ON表示開啟,OFF表示關(guān)閉

要開啟的話可以配置文件在[mysqld]下面添加以下配置,然后重啟數(shù)據(jù)庫,這樣就永久生效了
# 1:開啟 0:關(guān)閉 general_log=1 # 日志的存放路徑 general_log_file=/path/to/general.log
也可以直接在執(zhí)行語句臨時(shí)開啟
set global general_log=on; -- 開啟日志功能
查看日志路徑
show variables like 'general_log_file'; -- 看看日志文件保存位置
也可以設(shè)置日志路徑
set global general_log_file='tmp/general.lg'; -- 設(shè)置日志文件保存位置
查看日志類型
show variables like 'log_output'; -- 看看日志輸出類型 table或file
關(guān)于日志類型有兩種table或file,如果設(shè)置的file,那么只能在日志路徑找對(duì)應(yīng)的日志進(jìn)行查看,內(nèi)容如下:

不太好解讀,可以設(shè)置為table類型
set global log_output='table'; -- 設(shè)置輸出類型為 table set global log_output='file'; -- 設(shè)置輸出類型為file
設(shè)置完就可以查看mysql庫里面的general_log表進(jìn)行查看

就可以查看時(shí)間、用戶ip、做了哪些操作等
注意:
如果是臨時(shí)開啟的配置的話,重啟mysql服務(wù)后配置會(huì)失效
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
連接MySql速度慢的解決方法(skip-name-resolve)
這篇文章主要介紹了連接MySql速度慢的解決方法(skip-name-resolve),需要的朋友可以參考下2015-09-09
mysql和hive中幾種關(guān)聯(lián)(join/union)區(qū)別及說明
本文主要介紹了MySQL和Hive中各種連接和合并操作的用法,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、LEFT SEMI JOIN以及UNION和UNION ALL,同時(shí),也提到了Hive在處理連接時(shí)的一些特殊規(guī)則和限制2025-11-11
MySQL高級(jí)篇之索引的數(shù)據(jù)結(jié)構(gòu)詳解
在MySQL中索引屬于存儲(chǔ)引擎級(jí)別的概念,不同存儲(chǔ)引擎對(duì)索引的實(shí)現(xiàn)方式是不同的,下面這篇文章主要給大家介紹了關(guān)于MySQL高級(jí)篇之索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2022-05-05
解決MySQL啟動(dòng)報(bào)錯(cuò):Warning:mysqld.service changed on 
文章提示MySQL啟動(dòng)時(shí)報(bào)錯(cuò),因服務(wù)配置文件已更改,需運(yùn)行`systemctl daemon-reload`重新加載配置,隨后重啟MySQL服務(wù)以解決此問題2025-09-09
MySQL Slave 觸發(fā) oom-killer解決方法
這篇文章主要介紹了MySQL Slave 觸發(fā) oom-killer解決方法,需要的朋友可以參考下2016-07-07
MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問題
MYSQL中SUM字段按條件統(tǒng)計(jì)使用IF函數(shù),具體實(shí)現(xiàn)代碼如下,感興趣的朋友不要錯(cuò)過2014-01-01
深入探究MySQL事務(wù)實(shí)現(xiàn)原理
數(shù)據(jù)庫事務(wù)是指一組數(shù)據(jù)庫操作,這些操作必須被視為一個(gè)不可分割的單元,要么全部執(zhí)行成功,要么全部失敗回滾,本文詳細(xì)的給大家介紹了MySQL事務(wù)的實(shí)現(xiàn)原理,對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的同學(xué)可以跟著小編一起來探究2023-06-06
MySQL中將一列以逗號(hào)分隔的值行轉(zhuǎn)列的實(shí)現(xiàn)
這篇文章主要介紹了MySQL中將一列以逗號(hào)分隔的值行轉(zhuǎn)列的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Mysql在項(xiàng)目中相關(guān)使用方法指南(簡單操作數(shù)據(jù)庫)
作為一名編程人員,對(duì)MySQL一定不會(huì)陌生,尤其是互聯(lián)網(wǎng)行業(yè),對(duì)MySQL的使用是比較多的,下面這篇文章主要給大家介紹了關(guān)于Mysql在項(xiàng)目中相關(guān)使用方法的相關(guān)資料,主要是簡單操作數(shù)據(jù)庫,需要的朋友可以參考下2022-08-08

