本文所使用數(shù)據(jù)庫為mysql8.0,5.x版本的mysql上沒試過一下步驟調(diào)用審計(jì)功能
無需下載任何插件,兩行命令就能搞定
一、首先查看審計(jì)配置情況
1.show global variables like 'log_timestamps';
2.show global variables like '%general%';
輸入命令后結(jié)果如下:

log_timestamps表示記錄審計(jì)日志的時間是從哪里獲取。general_log表示審計(jì)功能是否開啟,general_log_file表示審計(jì)信息的存儲文件
二、開啟審計(jì)
1.set global general_log = on;
2.set global log_timestamps = SYSTEM;

使用審計(jì)日志記錄時間為系統(tǒng)當(dāng)前時間
也可以使用–set global general_log_file = /var/lib/mysql/文件名.log語句,將審計(jì)日志存儲文件名改為自己想要設(shè)置的文件名
就這樣審計(jì)功能就完成了,在終端使用vim /var/lib/mysql/文件名.log語句,就能查看審計(jì)記錄了
還有如下改進(jìn)方案
使用數(shù)據(jù)庫將登陸信息記錄下來,這樣在真實(shí)情況工作環(huán)境下,可以根據(jù)登陸時間戳更快地在審計(jì)日志中定位到問題發(fā)生源
(因?yàn)闊o論sql有無語法錯誤,只要執(zhí)行了就會記錄,導(dǎo)致記錄大量無用信息,后期的篩選有難度。審計(jì)日志內(nèi)容很多,當(dāng)真的出現(xiàn)問題,一個個找時會很麻煩)另外,因?yàn)樾陆ǖ谋砥胀ㄓ脩魶]有權(quán)限刪除記錄,而log文件時可以刪除記錄的,所以若沒有審計(jì)表的話若普通用戶能接觸保存log的那臺主機(jī),則能手動刪除
將審計(jì)日志壓縮,由于是一個log系統(tǒng),推薦使用archive存儲引擎,有利于數(shù)據(jù)厄壓縮存放。如果數(shù)據(jù)庫連接數(shù)量很大的話,建議一定時間做一次數(shù)據(jù)導(dǎo)出,然后清表。