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

要開(kāi)啟的話可以配置文件在[mysqld]下面添加以下配置,然后重啟數(shù)據(jù)庫(kù),這樣就永久生效了
# 1:開(kāi)啟 0:關(guān)閉 general_log=1 # 日志的存放路徑 general_log_file=/path/to/general.log
也可以直接在執(zhí)行語(yǔ)句臨時(shí)開(kāi)啟
set global general_log=on; -- 開(kāi)啟日志功能
查看日志路徑
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庫(kù)里面的general_log表進(jìn)行查看

就可以查看時(shí)間、用戶ip、做了哪些操作等
注意:
如果是臨時(shí)開(kāi)啟的配置的話,重啟mysql服務(wù)后配置會(huì)失效
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
登錄MySQL時(shí)出現(xiàn)Authentication plugin ‘caching_sha2_pass
這篇文章主要介紹了登錄MySQL時(shí)出現(xiàn)Authentication plugin ‘caching_sha2_password‘ reported error錯(cuò)誤的解決方案,文中通過(guò)圖文結(jié)合的形式講解的非常詳細(xì),對(duì)大家的解決問(wèn)題有一定的幫助,需要的朋友可以參考下2024-12-12
MySQL 8.0.13設(shè)置日期為0000-00-00 00:00:00時(shí)出現(xiàn)的問(wèn)題解決
這篇文章主要介紹了MySQL 8.0.13設(shè)置日期為0000-00-00 00:00:00時(shí)出現(xiàn)的問(wèn)題解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
MySQL無(wú)法存儲(chǔ)Emoji表情問(wèn)題的解決方法分析
這篇文章主要介紹了MySQL無(wú)法存儲(chǔ)Emoji表情問(wèn)題的解決方法,結(jié)合實(shí)例形式分析了存儲(chǔ)Emoji表情報(bào)錯(cuò)的原因及相應(yīng)的解決方法,需要的朋友可以參考下2018-07-07
MySQL子查詢中order by不生效問(wèn)題的解決方法
ORDER BY 語(yǔ)句用于根據(jù)指定的列對(duì)結(jié)果集進(jìn)行排序,在日常工作中經(jīng)常會(huì)用到,這篇文章主要給大家介紹了關(guān)于MySQL子查詢中order by不生效問(wèn)題的解決方法,需要的朋友可以參考下2021-07-07
MySQL通過(guò)觸發(fā)器解決數(shù)據(jù)庫(kù)中表的行數(shù)限制詳解及實(shí)例
這篇文章主要介紹了MySQL通過(guò)觸發(fā)器解決數(shù)據(jù)庫(kù)中表的行數(shù)限制詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04
Mysql5.5 InnoDB存儲(chǔ)引擎配置和優(yōu)化
本文介紹一下Mysql5.5 InnoDB存儲(chǔ)引擎配置和優(yōu)化的方法2013-11-11

