本文所使用數(shù)據(jù)庫為mysql8.0侦厚,5.x版本的mysql上沒試過一下步驟調(diào)用審計功能
無需下載任何插件舌仍,兩行命令就能搞定
一拄养、首先查看審計配置情況
1.show global variables like 'log_timestamps';
2.show global variables like '%general%';
輸入命令后結(jié)果如下:
log_timestamps表示記錄審計日志的時間是從哪里獲取轿衔。general_log表示審計功能是否開啟,general_log_file表示審計信息的存儲文件
二弛房、開啟審計
1.set global general_log = on;
2.set global log_timestamps = SYSTEM;
使用審計日志記錄時間為系統(tǒng)當前時間
也可以使用–set global general_log_file = /var/lib/mysql/文件名.log語句,將審計日志存儲文件名改為自己想要設置的文件名
就這樣審計功能就完成了而柑,在終端使用vim /var/lib/mysql/文件名.log語句文捶,就能查看審計記錄了
還有如下改進方案
使用數(shù)據(jù)庫將登陸信息記錄下來,這樣在真實情況工作環(huán)境下媒咳,可以根據(jù)登陸時間戳更快地在審計日志中定位到問題發(fā)生源
(因為無論sql有無語法錯誤粹排,只要執(zhí)行了就會記錄,導致記錄大量無用信息涩澡,后期的篩選有難度顽耳。審計日志內(nèi)容很多,當真的出現(xiàn)問題妙同,一個個找時會很麻煩)另外射富,因為新建的表普通用戶沒有權(quán)限刪除記錄,而log文件時可以刪除記錄的粥帚,所以若沒有審計表的話若普通用戶能接觸保存log的那臺主機辉浦,則能手動刪除
將審計日志壓縮,由于是一個log系統(tǒng)茎辐,推薦使用archive存儲引擎宪郊,有利于數(shù)據(jù)厄壓縮存放掂恕。如果數(shù)據(jù)庫連接數(shù)量很大的話,建議一定時間做一次數(shù)據(jù)導出弛槐,然后清表懊亡。