程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL審計插件安裝使用說明文檔--升級版

MySQL審計插件安裝使用說明文檔--升級版

編輯:MySQL綜合教程


MySQL審計插件安裝使用說明文檔--升級版   目的   基於之前設計開發的mysql審計插件,以及《MySQL審計插件安裝使用說明文檔》http://www.BkJia.com/database/201207/143906.html 的內容介紹,對完善後的mysql審計插件進行補充和說明。主要對新增內容進行詳細說明,進一步完善審計插件的功能。   www.2cto.com   新增內容          針對之前版本中存在的不足,功能不夠完善的問題,對MySQL審計插件進行進一步的開發和完善。新增內容主要有:   1、增加審計數據庫、數據表功能。   之前版本中沒有實現該功能,在當前版本中,將審計選項中audit_dbs、audit_tables的處理實現。可以審計某些數據庫,或者某些數據表,有利於針對不同應用系統的特殊應用。從而配合審計粒度,對審計內容進行進一步的細化和定制。   2、增加忽略審計的用戶、數據庫、數據表功能。            鑒於審計應用的特殊性,添加忽略的審計用戶、數據庫、數據表功能。可以實現忽略某個或某些用戶的操作記錄;忽略某個或某些數據庫的操作記錄;忽略某個表的操作記錄。這樣可以使得當審計的內容較多,而審計中需要剔除某些不必要的審計內容的情況下,這些參數可以有效簡化審計的選項配置。            增加的配置文件的選項:   www.2cto.com   選項   功能   ignore_users   忽略的用戶   ignore_dbs   忽略的數據庫   ignore_tables   忽略的數據表   www.2cto.com   選項的設置格式在配置文件中給出了具體的說明,類似audit_users、audit_dbs、audit_tables選項。            在添加忽略的審計用戶、數據庫、數據表與審計對象發生沖突時,將按照忽略優先的原則進行。例如:audit_dbs = important、audit_tables = test.test、ignore_dbs = test,ignore_tables = important.test,那麼審計的內容會首先忽略important.test表的所有操作,而審計test.test數據表的所有操作,然後忽略test數據庫的所有操作,審計important數據看的操作。   3、增加審計操作的數據庫信息。            由於操作的sql語句中幾乎不會直接寫操作的數據庫,而僅靠sql語句不能有效的辨識操作的數據庫。在存在不同數據庫中有相同數據表的情況下,數據庫審計不能有效的跟蹤審計內容。增加數據庫信息,可以有效的提高sql審核的內容。   文件輸出格式   www.2cto.com            文件格式分為兩種,分別為連接審計和操作審計。 1、連接審計   連接相關的審計日志信息的格式如下所示。   具體的:   [2012-06-20 15:40:39]:審計的時間。   [CONNECT]:為連接的類型;   status:為連接成功(0)或者失敗(錯誤號)的狀態;   user:為連接的用戶名;   external-user:為外部連接的用戶,在使用中間件或者代理服務的時候有效;   proxy-user:為代理服務的用戶名;   host:表示連接的主機名;   ip:連接的ip地址;   database:表示連接的數據庫名。   www.2cto.com   [2012-06-20 15:40:39] [CONNECT] status: # ; thread_id: # ; user: XXX ; external-user: XXX ; proxy-user: XXX ; host: XXX ; ip: ###.###.###.### ; database: XXX   2、操作審計 操作相關的審計日志信息的格式如下所示。操作相關的命令包括CREATE、DROP、ALTER、INSERT、UPDATE、DELETE、GRANT、REVOKE等對數據或數據庫有影響的操作。以下以CREATE為例,進行詳細說明。   具體的: [2012-06-20 15:40:39]:審計的時間。   www.2cto.com   [CREATE]為操作的類型;   error_code:為操作的錯誤碼,操作成功為0;   thread_id:執行操作的線程id;   user:執行操作的用戶名;   command:操作命令的類型,是數據庫內部的定義,數據相關操作一般為Query;   databases:SQL語句涉及到的所有數據庫。   query:操作的SQL語句。   charset:操作的字符集類型;   time:執行操作的時間點,該值為從1970年以來的長整數。   rows:執行操作影響數據的行數。   [2012-06-20 15:40:39] [CREATE] error_code:X # thread_id:X # user:X # command:X #databases:X # query:X # charset:X # time:X # rows:X   www.2cto.com   數據表定義 CREATE TABLE mysql.audit (     `audit_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,     `command` varchar(20) NOT NULL DEFAULT 'NULL',     `status` int(11) NOT NULL DEFAULT '0',     `thread_id` bigint(32) unsigned NOT NULL DEFAULT '0',     `user` varchar(20) NOT NULL DEFAULT 'NULL',     `external_user` varchar(20) NOT NULL DEFAULT 'NULL',     `proxy_user` varchar(20) NOT NULL DEFAULT 'NULL',     `host` varchar(20) NOT NULL DEFAULT 'NULL',     `ip` varchar(20) NOT NULL DEFAULT 'NULL',     `databases` varchar(255) NOT NULL DEFAULT 'NULL',     `query` varchar(255) NOT NULL DEFAULT 'NULL',   www.2cto.com     `charset` varchar(20) NOT NULL DEFAULT 'NULL',     `event_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',     `rows` bigint(32) NOT NULL DEFAULT '0'   ) ENGINE=CSV DEFAULT CHARSET=utf8 ; 進一步工作 1、完善查看審計參數狀態,show status like ‘audit%’中動態顯示當前參數狀態。     作者 king_wangheng

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved