【MySQL】MySQL審計操作記錄
阿新 • • 發佈:2018-05-04
MySQLserver_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生效
【MySQL】MySQL審計操作記錄