window10系統(tǒng)下mysql5.7安裝審計(jì)插件(親測(cè)有用)
前言
mysql有沒(méi)oracle這樣的審計(jì)功能?突然想在mysql做審計(jì)怎么辦?下面帶大家從零開(kāi)始給mysql安裝審計(jì)插件,親測(cè)絕對(duì)可用哦!
本教程雖然是在windows里操作,但在linux系統(tǒng)里也是同理,對(duì)應(yīng)的插件和配置修改,都是類(lèi)似的。
a、企業(yè)版 MySQL Enterprise Edition(收費(fèi))自帶AUDIT審計(jì)功能。
b、社區(qū)版 MySQL Community Server(免費(fèi))需要自己下載插件。
所以,免費(fèi)的社區(qū)版的使用者們,跟著下面教程獲取到審計(jì)功能吧。
1、下載MariaDB拿到對(duì)應(yīng)的審計(jì)插件
tip:這一步本來(lái)就是為了獲得審計(jì)插件的,不想下載MariaDB那么麻煩,直接本人保存好的審計(jì)插件-server_audit.dll文件(下載地址),
可跳過(guò)第1步、第2步,去到第3步,直接拷貝到數(shù)據(jù)庫(kù)所在目錄的\lib\plugin下 。
下載地址:http://xiazai.jb51.net/202209/yuanma/server_audit_jb51.rar
版本情況
window10
mysql5.7.36
mysql與MariaDB 的版本對(duì)應(yīng)很重要。mysql5.7.36版本,選擇MariaDB 的版本是5.5.57下載路徑
https://archive.mariadb.org//mariadb-5.5.68/winx64-packages/mariadb-5.5.68-winx64.msi
2、安裝MariaDB審計(jì)插件
改下端口,其他都是下一步。
3、配置審計(jì)插件到mysql
1、登入mysql執(zhí)行如下命令,可以查看mysql數(shù)據(jù)對(duì)應(yīng)的插件文件存放位置。
SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
2、從MariaDB的lib\plugin目錄拷貝server_audit.dll:
復(fù)制到mysql對(duì)應(yīng)的 lib\plugin目錄下:
3、mysql里執(zhí)行如下命令安裝審計(jì)插件:
INSTALL PLUGIN server_audit SONAME 'server_audit.dll';
4、安裝成功,通過(guò)如下命令可以查看初始化參數(shù)配置。
show variables like '%audit%';
5、執(zhí)行如下命令開(kāi)啟mysql審計(jì)功能
#備注:指定哪些操作被記錄到日志文件中 set global server_audit_events='CONNECT,QUERY,TABLE,QUERY_DDL'; #備注:開(kāi)啟審計(jì)功能 set global server_audit_logging=on; #備注:默認(rèn)存放路徑,可以不寫(xiě),默認(rèn)到data文件下 #set global server_audit_file_path =/data/mysql/auditlogs/ #備注:設(shè)置文件大小 set global server_audit_file_rotate_size=200000000; #指定日志文件的數(shù)量,如果為0日志將從不輪轉(zhuǎn) set global server_audit_file_rotations=200; #強(qiáng)制日志文件輪轉(zhuǎn) set global server_audit_file_rotate_now=ON;
執(zhí)行完上述命令,
show variables like '%audit%';
可查看審計(jì)配置說(shuō)明
6、永久生效配置,修改配置文件my.ini
[mysqld] #備注:防止server_audit 插件被卸載 server_audit=FORCE_PLUS_PERMANENT #備注:指定哪些操作被記錄到日志文件中 server_audit_events='CONNECT,QUERY,TABLE,QUERY_DDL' server_audit_logging=on server_audit_file_rotate_size=200000001 server_audit_file_rotations=200 server_audit_file_rotate_now=ON
然后重啟mysql
net stop mysql net start mysql
4、測(cè)試審計(jì)插件
可到data文件下查看日志文件server_audit.log。
可以看到剛才操作的日志都有了:
5、卸載審計(jì)插件
#如果設(shè)置了防卸載,需要先去掉該配置 server_audit = FORCE_PLUS_PERMANENT UNINSTALL PLUGIN server_audit; show variables like '%audit%';
6、審計(jì)插件server audit參數(shù)說(shuō)明
server_audit_events :指定記錄事件的類(lèi)型,可以用逗號(hào)分隔的多個(gè)值 server_audit_excl_users : 該列表的用戶(hù)[行為]將不記錄,connect信息將不受該設(shè)置影響 server_audit_file_path :使用該變量設(shè)置存儲(chǔ)日志的文件,可以指定目錄,默認(rèn)存放在數(shù)據(jù)目錄的server_audit.log文件中 server_audit_file_rotate_now :知否立即切割日志 server_audit_file_rotate_size :限制日志文件的大小 server_audit_file_rotations :指定日志文件的數(shù)量,如果為0日志將從不輪轉(zhuǎn) server_audit_incl_users : 指定哪些用戶(hù)的活動(dòng)將記錄,connect將不受此變量影響,該變量比server_audit_excl_users優(yōu)先級(jí)高 server_audit_loc_info : server_audit_logging :?jiǎn)?dòng)或關(guān)閉審計(jì)ON/OFF server_audit_mode :標(biāo)識(shí)版本,用于開(kāi)發(fā)測(cè)試 server_audit_output_type :指定日志輸出類(lèi)型,可為SYSLOG或FILE,當(dāng)為syslog時(shí)記錄到/var/log/messages server_audit_query_log_limit :1024 server_audit_syslog_facility :LOG_USER server_audit_syslog_ident :mysql-server_auditing server_audit_syslog_info : server_audit_syslog_priority :LOG_INFO
重點(diǎn)說(shuō)明參數(shù): server_audit_events
省略值全部事件類(lèi)型都會(huì)記錄到審計(jì)日志中,可選擇事件類(lèi)型才記錄。
如 server_audit_events = query,table,query_ddl,query_dml
事件類(lèi)型
CONNECT:連接、斷開(kāi)連接和失敗的連接,包括錯(cuò)誤代碼
QUERY:以純文本形式執(zhí)行的查詢(xún)及其結(jié)果,包括由于語(yǔ)法或權(quán)限錯(cuò)誤而失敗的查詢(xún)
TABLE:受查詢(xún)執(zhí)行影響的表
QUERY_DDL:與QUERY相同,但只篩選DDL類(lèi)型的查詢(xún)(create、alter、drop、rename和truncate語(yǔ)句,create/drop[procedure/function/user]和rename user除外(它們不是DDL)
QUERY_DML:與QUERY相同,但只篩選DML類(lèi)型的查詢(xún)(do、call、load data/xml、delete、insert、select、update、handler和replace語(yǔ)句)
QUERY_DCL:與QUERY相同,但只篩選DCL類(lèi)型的查詢(xún)(create user、drop user、rename user、grant、revoke和set password語(yǔ)句)
QUERY_DML_NO_SELECT:與QUERY_DML相同,但不記錄SELECT查詢(xún)。(從1.4.4版開(kāi)始)(do、call、load data/xml、delete、insert、update、handler和replace語(yǔ)句)
7、注意
- 如果開(kāi)啟了查詢(xún)緩存(query cache),查詢(xún)直接從查詢(xún)緩存返回?cái)?shù)據(jù),將沒(méi)有table記錄
- 由于除了DDL和DML之外還有其他類(lèi)型的查詢(xún),因此將查詢(xún)DDL和查詢(xún)DML選項(xiàng)一起使用并不等同于使用查詢(xún)。從Audit插件的1.3.0版開(kāi)始,有用于記錄查詢(xún)的DCL類(lèi)型(例如GRANT和REVOKE語(yǔ)句)的QUERY_DCL選項(xiàng)。在同一版本中,添加了server_audit_query_log_limit變量,以便能夠設(shè)置日志記錄的長(zhǎng)度。以前,由于查詢(xún)字符串較長(zhǎng),日志條目將被截?cái)唷?/li>
- 卸載審計(jì)插件
- 如my.cnf 有相關(guān)配置,先清空重啟再卸載。
到此這篇關(guān)于window10系統(tǒng)下mysql5.7安裝審計(jì)插件的文章就介紹到這了,更多相關(guān)mysql5.7安裝審計(jì)插件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL事務(wù)的隔離性是如何實(shí)現(xiàn)的
最近做了一些分布式事務(wù)的項(xiàng)目,對(duì)事務(wù)的隔離性有了更深的認(rèn)識(shí),后續(xù)寫(xiě)文章聊分布式事務(wù)。今天就復(fù)盤(pán)一下單機(jī)事務(wù)的隔離性是如何實(shí)現(xiàn)的?感興趣的可以了解一下-2021-09-09MySQL處理DB讀寫(xiě)分離數(shù)據(jù)不一致問(wèn)題的方案
在互聯(lián)網(wǎng)中大型項(xiàng)目中,讀寫(xiě)分離應(yīng)該是我們小伙伴經(jīng)常聽(tīng)說(shuō)的,這個(gè)主要解決大流量請(qǐng)求時(shí),提高系統(tǒng)的吞吐量,本文給大家介紹了MySQL處理DB讀寫(xiě)分離數(shù)據(jù)不一致問(wèn)題的方案,需要的朋友可以參考下2024-02-02Linux MYSQL5.7.23 rpm安裝(附帶安裝包)教程
RPM是一種軟件包管理系統(tǒng),常用于基于Red Hat的Linux發(fā)行版,如Fedora和CentOS,它允許用戶(hù)通過(guò)預(yù)編譯的二進(jìn)制包快速安裝和管理軟件,這篇文章給大家介紹Linux mysql5.7.23 rpm安裝(附帶安裝包)教程,感興趣的朋友一起看看吧2023-12-12Mysql動(dòng)態(tài)更新數(shù)據(jù)庫(kù)腳本的示例講解
今天小編就為大家分享一篇關(guān)于Mysql動(dòng)態(tài)更新數(shù)據(jù)庫(kù)腳本的示例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12