一篇、【MariaDB】日誌審計


【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.這是賀春暘大神提供的


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