MySQL社群版開啟審計功能

2021-09-24 04:53:39 字數 2198 閱讀 9712

chmod a+x libaudit_plugin.so
3、登入mysql,執行:

install plugin audit soname 'libaudit_plugin.so';
4、檢查是否安裝成功:

show global status like '%audit%';
5、my.cnf中[mysqld]標籤下配置:

# audit

#plugin_load=server_audit

server_audit_output_type=file

server_audit_events='connect,query,table,query_ddl,query_dml,query_dcl'

server_audit_logging=on

server_audit_file_path =/data/mysql3306/auditlogs/

server_audit_file_rotate_size=200000000

server_audit_file_rotations=200

server_audit_file_rotate_now=on

sysdate_is_now = 1

注意:/data/mysql3306/auditlogs/該目錄一定要存在,否則無法寫入日誌

引數說明可以參考:如下為常用的引數:

server_audit_output_type:指定日誌輸出型別,可為syslog或file

server_audit_logging:啟動或關閉審計

server_audit_events:指定記錄事件的型別,可以用逗號分隔的多個值(connect,query,table),如果開啟了查詢快取(query

cache),查詢直接從查詢快取返回資料,將沒有table記錄

server_audit_file_path:如server_audit_output_type為file,使用該變數設定儲存日誌的檔案,可以指定目錄,預設存放在資料目錄的server_audit.log檔案中

server_audit_file_rotate_size:限制日誌檔案的大小

server_audit_file_rotations:指定日誌檔案的數量,如果為0日誌將從不輪轉

server_audit_file_rotate_now:強制日誌檔案輪轉

server_audit_incl_users:指定哪些使用者的活動將記錄,connect將不受此變數影響,該變數比server_audit_excl_users優先順序高

server_audit_syslog_facility:預設為log_user,指定facility

server_audit_syslog_ident:設定ident,作為每個syslog記錄的一部分

server_audit_syslog_info:指定的info字串將新增到syslog記錄

server_audit_syslog_priority:定義記錄日誌的syslogd priority

server_audit_excl_users:該列表的使用者行為將不記錄,connect將不受該設定影響

server_audit_mode:標識版本,用於開發測試

6、重啟mysql。

7、解除安裝 server_audit

mysql> uninstall plugin server_audit;

mysql> show variables like '%audit%';

防止 server_audit 外掛程式被解除安裝,需要在配置檔案中新增:

[mysqld]

server_audit=force_plus_permanent

重啟mysql生效

mysql> uninstall plugin server_audit;

error 1702 (hy000): plugin 'server_audit' is force_plus_permanent and can not be unloaded

值得注意的是,應該在server_audit外掛程式被安裝好,並且已經執行之後新增這些配置,否則過早在配置檔案新增這個選項,會導致mysql發生啟動錯誤!

mysql開啟使用者 登入 審計功能

背景 假設這麼乙個情況,你是某公司mysql dba,某日突然公司資料庫中的所有被人為刪了。儘管有資料備份,但是因服務停止而造成的損失上千萬,現在公司需要查出那個做刪除操作的人。但是擁有資料庫操作許可權的人很多,如何排查,證據又在哪?是不是覺得無能為力?mysql本身並沒有操作審計的功能,那是不是意...

mysql審計方案 MySQL審計功能

mysql審計功能介紹 之前有同事發現資料丟失,由於mysql自身沒有提供審計功能,查詢binlog可以看到操作時間與連線ip,並不顯示哪個使用者做的操作,詢問開發同事都說沒有做刪除操作,也沒辦法定位操作的人員證據,無奈只能恢復資料。general log會記錄詳細的sql執行記錄,但是生產環境如果...

MySQL社群版Windows編譯

a 安裝 visual studio 2019社群版 c 安裝cmake 安裝的時候,選擇在path中加入 boost 1 70 0 unsupported msvc 14.2 64.exe安裝到特定目錄即可。使用編譯方式編譯,在原始碼目錄下執行bootstrap.bat,再次執行如下命令 b2 b...