国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL數據庫Audit插件的使用技巧總結

數據庫 MySQL
本文詳細介紹了MySQL數據庫Audit插件的一些使用技巧,希望能給讀者帶來收獲。

MySQL數據庫中(5.5版本),增加了一個新的插件:Audit plugin,用于對數據庫連接和數據庫操作進行審計。接下來我們詳細介紹Audit插件的使用。

相關代碼如下:

 

  1. sql/sql_audit.cc 

 

該文件定義了audit插件的接口函數。

 

  1. sql/sql_audit.h 

 

申明函數,并定義了函數mysql_audit_general_log,在觸發audit時,首先調用的就是該函數。

 

  1. plugin/audit_null/audit_null.c 

 

這是一個模板程序,給出了一個最基本的audit插件所需要定義的接口。

為了實現一個完整的audit程序,需要包括插件初始化、主要函數、卸載插件后的調用函數。這里我們以audit_null.c為例:

  1. static int audit_null_plugin_init(void *arg __attribute__((unused))) 

 

在安裝插件時,會調用該函數,主要用于做一些初始化的工作,比如初始化全局變量等。

  1. static void audit_null_notify(MYSQL_THD thd, unsigned int event_class, constvoid *event) 

 

這是audit插件的主要函數,在相應的事件被觸發時,將會調用到該函數,參數包括:

thd:觸發該函數的線程,在結構體THD中包含了相當豐富的信息,可以借此實現很多有趣的功能

event_class/event:前者表示事件的類型,用于決定第三個參數event結構體的類型,使用宏定義,值為MYSQL_AUDIT_GENERAL_CLASS時表示由操作數據庫的行為所觸發,值為MYSQL_AUDIT_CONNECTION_CLASS時表示由發起數據庫連接所觸發,而針對不同的類型,也會調用不同的接口函數來觸發audit。

 

  1. staticaudit_handler_t audit_handlers[] =  
  2.  
  3. {  
  4.  
  5. general_class_handler,connection_class_handler  
  6.  
  7. }; 

 

對上述兩種情況下,又會細分到多個事件類型,在文件plugin_audit.h中進行了定義

1. 發起連接時

 

  1. #defineMYSQL_AUDIT_CONNECTION_CONNECT 0 

 

完成認證后觸發

 

  1. #define MYSQL_AUDIT_CONNECTION_DISCONNECT 1 

 

連接被中斷時觸發

 

  1. #define MYSQL_AUDIT_CONNECTION_CHANGE_USER 2 

 

在執行COM_CHANGE_USER命令后觸發。

event參數的結構為:mysql_event_connection。

2.操作數據庫時

  1. #defineMYSQL_AUDIT_GENERAL_LOG 0   

在提交給general query log之前被觸發

 

  1. #define MYSQL_AUDIT_GENERAL_ERROR 1 

 

在發送給用戶錯誤之前觸發

 

  1. #define MYSQL_AUDIT_GENERAL_RESULT 2 

 

當將結果集合發送給用戶后觸發

 

  1. #defineMYSQL_AUDIT_GENERAL_STATUS 3 

 

當發送一個結果集或發生錯誤時被觸發。event參數的結構體為:mysql_event_general。

不管event的結構體是哪一個,都在其中記錄了上述七種事件類型,我們就可以根據不同的事件類型,有針對性的進行插件代碼的編寫。

3. static int audit_null_plugin_deinit(void*arg __attribute__((unused)))

當卸載插件時,會調用該函數,可以用來執行一些釋放資源、關閉文件等操作

4. 定義插件的描述符結構體:

 

  1. struct st_mysql_audit    
  2.  
  3. {    
  4.  
  5. int interface_version;    
  6.  
  7. void (*release_thd)(MYSQL_THD);    
  8.  
  9. void (*event_notify)(MYSQL_THD, unsigned int, const void *);    
  10.  
  11. unsigned long class_mask[MYSQL_AUDIT_CLASS_MASK_SIZE];    
  12.  
  13. };   

 

Version,值一般為MYSQL_AUDIT_INTERFACE_VERSION。

release_thd,一般設置為NULL。

event_notify,主要的處理函數,當發生某些事件時被調用(audit_null_notify)。

class_mask,掩碼。

release_thd和event_notify可以結合起來用,當事件觸發event_notify時,這時候插件是不可以uninstall的,當完成調用后,服務器會通知release_thd函數。這樣,我們可以在event_notify中分配資源,并在release_thd中統一的進行釋放。

5.定義statues變量,用于指定在調用SHOWSTATIS時,顯示哪些值

 

  1. static struct st_mysql_show_var audit_null_status[] 

 

6. 插件的庫描述符

 

  1. mysql_declare_plugin(audit_null)            
  2.  
  3. {                                               
  4.  
  5. MYSQL_AUDIT_PLUGIN,         /* type                            */    
  6.  
  7. &audit_null_descriptor,     /* descriptor                            */    
  8.  
  9. "NULL_AUDIT",               /* name                            */    
  10.  
  11. "Oracle Corp",              /* author                             */    
  12.  
  13. "Simple NULL Audit",        /* description                          */    
  14.  
  15. PLUGIN_LICENSE_GPL,    
  16.  
  17. audit_null_plugin_init,     /* init function (when loaded)               */    
  18.  
  19. audit_null_plugin_deinit,   /* deinit function (when unloaded)             */   

 

其中 第三個字段 “NULL_AUDIT”就是在執行INSTALLPLUGIN時的插件名,如果不一致,不報無法找到在庫文件中找到符號的錯誤。

總結:

Audit插件可以被多種事件所觸發,因此,當服務器繁忙時,需要小心謹慎的編寫代碼,防止產生太多的額外開銷,以影響服務器的整體性能。

【編輯推薦】

  1. 利用mysql的audit審計功能記錄用戶操作信息
  2. MySQL索引背后的數據結構及算法之索引實現
  3. NaviCat通過Http方式連接服務器的MySQL數據庫
  4. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建
責任編輯:趙鵬 來源: CSDN博客
相關推薦

2010-11-29 11:51:59

Sybase數據庫維護

2018-11-16 16:37:35

MySQL數據庫熱璞科技

2011-09-02 10:06:51

OracleSqlLoad常用技巧

2011-03-17 14:09:25

Oracle數據庫字符

2019-01-02 11:10:40

MySQL數據庫數據庫設計

2016-12-29 12:24:33

MySQL數據庫移植

2019-07-11 08:45:00

MySQL數據庫緩存

2019-12-18 08:00:09

MySQL數據庫ORDER BY

2020-08-31 10:48:11

MySQL數據庫數據庫技巧

2010-05-31 17:15:39

MySQL數據庫

2018-09-17 16:30:24

數據庫MySQL小技巧

2011-04-02 09:33:08

MySQL數據庫查詢效率

2011-04-02 09:33:13

MySQL數據庫查詢效率

2011-04-02 09:23:19

MySQL數據庫查詢效率

2011-03-10 11:17:03

數據庫設計技巧

2011-08-29 14:17:10

SQL Serverdefault val

2010-05-31 15:12:44

MySQL數據庫

2010-06-30 10:37:55

MS-SQL Serv

2010-05-26 09:44:41

MySQL數據庫使用

2010-05-13 14:07:39

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

国产情人节一区| 2021久久精品国产99国产精品| 国产在线视频在线| 欧美亚洲专区| 国产精品久久久久久久久| 亚洲精品观看| 国产一区二区动漫| 亚洲人体视频| 亚洲精品久久久久久久久久久久 | 亚洲美女动态图120秒| 成人直播在线| 91麻豆精品国产91久久久使用方法| 尤物视频网站在线观看| 亚洲精品老司机| 午夜丝袜av电影| 亚洲国产精品久久久久婷婷884| 啊啊啊啊啊啊啊视频在线播放| 久久精品亚洲乱码伦伦中文| 熟妇人妻va精品中文字幕| 不卡的av中国片| 亚洲乱码中文字幕久久孕妇黑人| 成人深夜在线观看| 国产美女无遮挡网站| 国产日韩亚洲欧美综合| 中文字幕国产免费| 亚洲精品乱码久久久久久日本蜜臀| 亚洲这里只有精品| 有码一区二区三区| 一级毛片高清视频| 欧美性受xxxx黑人xyx性爽| 国产在线观看av| 亚洲男人天堂久| 亚洲va欧美va人人爽成人影院| 久久99精品久久久久久青青91| 91精品国产乱码久久久竹菊| 青草成人免费视频| 亚洲欧美伊人| 亚洲精品一区二区三区av| 激情亚洲综合在线| 男人操女人免费| 亚洲黄色片在线观看| 你懂得在线网址| 日韩三级视频在线看| 视频二区不卡| 欧美日韩xxx| 成人在线电影在线观看视频| yy111111少妇影院日韩夜片| 七七婷婷婷婷精品国产| 欧美精品久久久久久久免费| 亚洲男女一区二区三区| av片在线看| 尤物九九久久国产精品的分类| 99综合久久| 91系列在线观看| 精品一区二区精品| 性直播在线观看| 欧美无砖专区一中文字| 成人一区视频| 91视频国产一区| 国产一区二区三区不卡在线观看| 国产熟人av一二三区| 在线欧美一区二区| 福利一区二区| 97超碰人人看人人| 97超碰欧美中文字幕| 日本福利在线观看| 最近中文字幕2019免费| 久久久久久久久国产一区| 韩国黄色一级大片| 午夜成人在线视频| 99久久亚洲国产日韩美女| 亚洲iv一区二区三区| 99综合电影在线视频| 国产精品一二三区视频| 日韩在线视频导航| 国产日韩亚洲| 成人福利网址| 日韩成人小视频| 亚洲成人二区| 久久久久久久久久久免费视频| 欧美天堂一区二区三区| 在线看不卡av| 少女频道在线观看免费播放电视剧| 日韩在线观看高清| 欧美va久久久噜噜噜久久| 亚洲午夜久久久影院伊人| 亚洲女同女同女同女同女同69| 在线看一级片| 国产成人综合亚洲| 精品一区二区免费在线观看| 裸体av在线| 日韩成人高清在线| 日韩欧美1区| 男人用嘴添女人下身免费视频| 日本乱码高清不卡字幕| 欧美黄视频在线观看| 久久精品午夜一区二区福利| 国产精品久久免费看| 黑森林国产精品av| 91沈先生作品| 国产精品白丝在线| 日韩mv欧美mv国产网站| 精品国产91久久久久久老师| 中文字幕在线中文字幕在线中三区| 国产精彩精品视频| 激情综合五月婷婷| 成人性生交大片免费看午夜| 欧美国产极速在线| 毛片av一区二区| 国产精品视频一区二区久久| 91精品国产91久久久久久不卡| 久久国产生活片100| 欧洲亚洲在线| 国产精品99久久久久久www| 91亚洲国产成人精品一区二三| 男女在线观看视频| 国产精品手机视频| 亚洲 欧美综合在线网络| jizz国产精品| 午夜精品久久久久久久无码| 亚洲精品视频中文字幕| 亚洲三级观看| 蜜桃成人在线视频| 精品日韩成人av| 亚洲精品乱码视频| 日本久久中文字幕| 亚洲美女性生活视频| 欧美精品网站| 天堂av一区二区三区在线播放| 久久精品麻豆| 成人午夜网址| 欧美粗大gay| 国产又色又爽又黄刺激在线视频| 国产资源在线观看入口av| 免费观看国产视频在线| 一区二区三区四区五区视频| 日本视频一区二区在线观看| 日本精品视频一区二区三区| 亚洲国产精品日韩专区av有中文| 在线免费观看黄色网址| 亚洲看片网站| 欧美高清在线观看| 91国偷自产一区二区三区观看| 精品成人久久| 免费视频成人| 国产在线免费观看| 中文字幕乱码人妻综合二区三区| 欧美福利小视频| 91精品国产乱码久久蜜臀| 国产乱码字幕精品高清av| 亚洲在线免费| 国产成人高清精品| 成人免费观看视频在线观看| 久久成人免费视频| 久久久午夜电影| 久久福利综合| 国产精品原创| 四虎久久免费| 国产男小鲜肉同志免费| 欧美aaa在线观看| 成人xxxxx| 亚洲日本欧美中文幕| 91九色最新地址| 成人h动漫精品| 母乳一区在线观看| 午夜精品久久久久99热蜜桃导演| 小视频免费在线观看| 国产精品亚洲综合在线观看| 久久精品高清| 久久九九久精品国产免费直播| 日韩欧美久久久| 日韩精品一区二区三区在线播放| 日韩视频中文字幕| 欧美精品福利视频| 欧美国产一二三区| 奇米影视亚洲色图| 成人av影视| 黄色av网站在线看| 国产精品1区| 一区福利视频| 精品国产福利在线| 亚洲第一福利在线观看| 亚洲欧美在线看| 色999五月色| 电影av一区| 9999热视频在线观看| 在线综合色站| 久久亚洲私人国产精品va媚药| 欧美精品久久一区二区三区| 亚洲国产97在线精品一区| 日本精品视频网站| 国产97色在线 | 日韩| 99久久久久| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 一区二区高清免费观看影视大全| 亚洲国产精久久久久久久| 日韩欧美色综合| 日韩免费在线视频| 毛片av免费在线观看| 国产精品美女午夜爽爽|