Centos版本:6.4; MySQL版本:Community 5.6.12;測(cè)試數(shù)據(jù)庫大?。?4G。
sysbench 參數(shù):64線程 10表,每個(gè)表預(yù)先初始化好一千萬數(shù)據(jù),讀寫混合OLTP模式。和mysql跑在同一臺(tái)機(jī)器上。
測(cè)試時(shí)長(zhǎng):5分鐘/場(chǎng)景。
未安裝插件
OLTP test statistics: queries performed: read: 15377012 write: 4393432 other: 2196716 total: 21967160 transactions: 1098358 (3661.01 per sec.) read/write requests: 19770444 (65898.21 per sec.) other operations: 2196716 (7322.02 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.)
Mcafee插件 官網(wǎng)地址:https://github.com/mcafee/mysql-audit/wiki
使用版本:v1.0.9
安裝
INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';
啟用
set global audit_json_file=1;
停用
set global audit_json_file=0;
重啟mysql
插件不會(huì)卸載,不會(huì)啟用記錄日志。
卸載
直接執(zhí)行UNINSTALL PLUGIN AUDIT;卸載會(huì)報(bào)錯(cuò): Uninstall AUDIT plugin disabled。
同時(shí)發(fā)現(xiàn) Variable 'audit_uninstall_plugin' is a read only variable
需要在my.cnf中添加audit_uninstall_plugin=1,重啟mysql。
重啟完畢后 執(zhí)行兩次 UNINSTALL PLUGIN AUDIT; 可以卸載。
卸載完成后需要從my.cnf中刪除audit_uninstall_plugin=1 ,否則下次mysql啟動(dòng)會(huì)報(bào)錯(cuò):[ERROR] /data/mysql/bin/mysqld: unknown variable 'audit_uninstall_plugin=1'
日志格式:json
{"msg-type":"activity","date":"1484795122970","thread-id":"557","query-id":"61687115","user":"root","priv_user":"root","ip":"127.0.0.1","cmd":"select", "objects":[{"db":"sysbench_test","name":"sbtest7","obj_type":"TABLE"}],"query":"SELECT c FROM sbtest7 WHERE id=5015211"}
只會(huì)記錄操作成功的日志
OLTP test statistics: queries performed: read: 8376872 write: 2393392 other: 1196696 total: 11966960 transactions: 598348 (1994.38 per sec.) read/write requests: 10770264 (35898.81 per sec.) other operations: 1196696 (3988.76 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.)
Mariadb 插件 官網(wǎng)地址:https://mariadb.com/kb/en/mariadb/about-the-
使用版本:1.1.7
安裝
INSTALL PLUGIN server_audit SONAME 'server_audit.so';
啟用
set global server_audit_logging=1; set global server_audit_file_rotate_size=1073741824; set global server_audit_file_rotations=4;
停用
set global server_audit_logging=0;
重啟mysql
插件不會(huì)卸載,不會(huì)啟用記錄日志。 但是所有參數(shù)會(huì)重置,再次啟用的時(shí)候需要執(zhí)行需要的參數(shù)配置。
卸載
UNINSTALL PLUGIN server_audit;
卸載插件無須重啟mysql。
日志格式:固定格式文本
20170119 10:39:19,localhost.localdomain,root,127.0.0.1,375,8330400,QUERY,sysbench_test,'SELECT c FROM sbtest5 WHERE id=5037936',0
所有操作都會(huì)記錄??梢杂涗汼QL注入。
OLTP test statistics: queries performed: read: 9098362 write: 2599532 other: 1299766 total: 12997660 transactions: 649883 (2166.16 per sec.) read/write requests: 11697894 (38990.84 per sec.) other operations: 1299766 (4332.32 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.)
小結(jié):
mcafee的審計(jì)插件:
性能下降約46%,產(chǎn)生日志3.0G
卸載插件需要重啟一次mysql。插件沒有自動(dòng)滾動(dòng),需要另外部署清理任務(wù),會(huì)有清理任務(wù)失敗導(dǎo)致的磁盤空間不夠的風(fēng)險(xiǎn),拉取日志到其他服務(wù)器分析與清理任務(wù)有協(xié)調(diào)困難,清理任務(wù)會(huì)有一定耦合性。
mariadb的審計(jì)插件:
性能下降約41%,產(chǎn)生1864M日志。
性能略好于mcafee的插件。 審計(jì)日志有自動(dòng)滾動(dòng)。卸載方便。 兼容性方面5.6.12的版本測(cè)試不適配1.1.7以上版本,使用的話MySQL守護(hù)進(jìn)程會(huì)無限重啟mysql,官方說是1.2.0以上版本要在MySQL5.6.17以上版本使用,使用前要先測(cè)試。
percona的審計(jì)插件:
沒有適配5.6.17以前版本的,暫未做測(cè)試。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com