【MySQL】MySQL審計操作記錄

server_audit是一款內嵌在mariadb的審計插件,在mysql中同樣適用,主要用於記錄用戶操作

1.安裝:

通過show variables like 'plugin_dir';查看你的插件目錄,
我的是:/usr/lib64/mysql/plugin/    
把下載好的插件server_audit.so
複製到/usr/lib64/mysql/plugin/ 
注意chmod+x server_audit.so
登錄mysql執行插件安裝命令:
INSTALL PLUGIN server_audit SONAME 'server_audit.so';
插件安裝成功後有這些全局變量:show variables like '%audit%';

2.配置:

進入mysql 執行:更改全局變量
set global server_audit_excl_users='root';
set global server_audit_events='QUERY_DDL,QUERY_DML';
set global server_audit_file_path ='/mysqllog/';
set global server_audit_file_rotate_size=1073741824;
set global server_audit_file_rotations=10;
set global server_audit_file_rotate_now=ON;
set global server_audit_logging=on;

在my.cnf 增加
#audit
server_audit_events='QUERY_DDL,QUERY_DML'
server_audit_logging=on
server_audit_file_path =/mysqllog/
server_audit_file_rotate_size=1G
server_audit_file_rotations=10
server_audit_file_rotate_now=ON
server_audit_excl_users=root

3.建議關閉general log

set global general_log=off;
在my.cnf註釋
general_log_file = /mysqllog/mysql.log
general_log = 1

4.參數說明:

詳細請參考:https://mariadb.com/kb/en/mariadb/server_audit-system-variables/
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:標識版本,用於開發測試

5.卸載

mysql> UNINSTALL PLUGIN server_audit;
mysql> show variables like '%audit%';
Empty set (0.00 sec)

防止server_audit 插件被卸載,需要在配置文件中添加:
[mysqld]
server_audit=FORCE_PLUS_PERMANENT
重啓MySQL生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章