【2016年12月4日】
忙了好幾天,沒來得及看書,但總要交點貨吧!!
最近老闆要審計,服務器壓力很大,過去的mysql內部的審計早就關閉了,硬件審計又沒上,賀大神推薦寫到磁盤文件裏.
1.在maridb官網下載插件,上傳到mysql服務器,解壓
https://mariadb.com/kb/en/mariadb/mariadb-audit-plugin/
2.登錄mysql
root@localhost [(none)]>SHOW VARIABLES LIKE 'plugin_dir'; +---------------+------------------------------+ | Variable_name | Value | +---------------+------------------------------+ | plugin_dir | /usr/local/mysql/lib/plugin/ | +---------------+------------------------------+ 1 row in set (0.01 sec)
3.把插件拷貝到plugindir目錄下,在mysql中安裝:
INSTALL PLUGIN server_audit SONAME 'server_audit.so; set global server_audit_events='query_ddl,query_dml'; set global server_audit_logging = 1;
4.vi /etc/my.cnf
server_audit_logging server_audit_events=connect,query(可選)
5.重啓mysql(這裏可以不用重啓)
6.查看審計日誌
sys_root@localhost:(none) 08:41:54>SHOW VARIABLES LIKE 'server_audit%'; +-------------------------------+----------------------------------+ | Variable_name | Value | +-------------------------------+----------------------------------+ | server_audit_events | QUERY_DDL,QUERY_DML | #指定記錄事件的類型,可以用逗號分隔的多個值(connect,query,table),如果開啓了查詢緩存(query,cache)查詢直接從查詢緩存返回數據,將沒有table記錄 | server_audit_excl_users | bbb,aaaaaa | #該列表的用戶操作不被記錄,connet不受該設置影響 | server_audit_file_path | /data/audit_log/server_audit.log | #審計日誌存放地址(默認在數據庫data目錄下) | server_audit_file_rotate_now | OFF | #強制日誌文件輪轉 | server_audit_file_rotate_size | 1000000 | #限制日誌文件的大小 | server_audit_file_rotations | 0 | #指定日誌文件的數量,如果爲0日誌將從不輪轉 | server_audit_incl_users | | #指定哪些用戶的活動將記錄,connet不受影響,改變量比server_audit_excl_users優先級高 | server_audit_loc_info | | | server_audit_logging | ON | #表示開啓審計日誌服務 | server_audit_mode | 0 | #表示版本,用於開發測試 | server_audit_output_type | file | #日誌輸出形式以file,syslog # https://www.oschina.net/question/12_127238 | server_audit_query_log_limit | 1024 | | server_audit_syslog_facility | LOG_USER | #默認Log_user,指定facility | server_audit_syslog_ident | mysql-server_auditing | #指定ident,作爲每個syslog記錄的一部分 | server_audit_syslog_info | | #指定的info字符串將添加到syslog記錄 | server_audit_syslog_priority | LOG_INFO | #定義記錄日誌的syslogd priority +-------------------------------+----------------------------------+ 16 rows in set (0.00 sec)
server_audit_events、server_audit_logging等參數均爲全局動態參數,可以直接在數據庫更改。
7.這是賀春暘大神提供的