MariaDB server_audit 審計(jì)插件

具體安裝步驟:
1.使用SHOW VARIABLES LIKE 'plugin_dir'; 查出插件安裝目錄

2.復(fù)制 mariadb-5.5.58-linux-x86_64/lib/plugin 下的 server_audit.so 到插件安裝目錄下如 /usr/local/mysql/lib/plugin 下,添加 +x 權(quán)限

3.登錄mysql執(zhí)行安裝插件操作
mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.so';

查看變量開(kāi)啟設(shè)置情況,默認(rèn)貌似都是關(guān)閉的:
復(fù)制代碼

mysql> show variables like '%server_audit%';

4.在 my.cnf 中添加如下配置,然后重啟 mysqld:

server_audit_events='QUERY_DDL,QUERY_DML,QUERY_DCL'
server_audit_logging=on

server_audit_file_path =/data/mysql/auditlogs/

server_audit_file_rotate_size=200000000
server_audit_file_rotations=200
server_audit_file_rotate_now=ON
server_audit_excl_users=root

也可以動(dòng)態(tài)開(kāi)啟審計(jì)功能:

mysql> set global server_audit_logging=on;
Query OK, 0 rows affected (0.00 sec)

默認(rèn)在mysql的數(shù)據(jù)目錄下生成文件 server_audit.log ,日志格式為:

可以看到,MariaDB的審計(jì)插件日志要比MySQL社區(qū)插件簡(jiǎn)潔許多。


參數(shù)說(shuō)明:(請(qǐng)參考:https://mariadb.com/kb/en/mariadb/server_audit-system-variables/
復(fù)制代碼

server_audit_output_type:指定日志輸出類(lèi)型,可為SYSLOG或FILE
server_audit_logging:?jiǎn)?dòng)或關(guān)閉審計(jì)
server_audit_events:指定記錄事件的類(lèi)型,可以用逗號(hào)分隔的多個(gè)值(connect,query,table),如果開(kāi)啟了查詢(xún)緩存(query cache),查詢(xún)直接從查詢(xún)緩存返回?cái)?shù)據(jù),將沒(méi)有table記錄
server_audit_file_path:如server_audit_output_type為FILE,使用該變量設(shè)置存儲(chǔ)日志的文件,可以指定目錄,默認(rèn)存放在數(shù)據(jù)目錄的server_audit.log文件中
server_audit_file_rotate_size:限制日志文件的大小
server_audit_file_rotations:指定日志文件的數(shù)量,如果為0日志將從不輪轉(zhuǎn)
server_audit_file_rotate_now:強(qiáng)制日志文件輪轉(zhuǎn)
server_audit_incl_users:指定哪些用戶的活動(dòng)將記錄,connect將不受此變量影響,該變量比server_audit_excl_users優(yōu)先級(jí)高
server_audit_syslog_facility:默認(rèn)為L(zhǎng)OG_USER,指定facility
server_audit_syslog_ident:設(shè)置ident,作為每個(gè)syslog記錄的一部分
server_audit_syslog_info:指定的info字符串將添加到syslog記錄
server_audit_syslog_priority:定義記錄日志的syslogd priority
server_audit_excl_users:該列表的用戶行為將不記錄,connect將不受該設(shè)置影響
server_audit_mode:標(biāo)識(shí)版本,用于開(kāi)發(fā)測(cè)試

復(fù)制代碼


卸載 server_audit

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

防止 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

值得注意的是,應(yīng)該在server_audit插件被安裝好,并且已經(jīng)運(yùn)行之后添加這些配置,否則過(guò)早在配置文件添加這個(gè)選項(xiàng),會(huì)導(dǎo)致MySQL發(fā)生啟動(dòng)錯(cuò)誤!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容