테스트 서버 구성: Dell R730, 64G 메모리,
Centos 버전: 6.4, MySQL 버전: Community 5.6.12, 테스트 데이터베이스 크기: 24G.
sysbench 매개변수: 스레드 64개, 테이블 10개, 각 테이블은 1천만 개의 데이터로 사전 초기화되어 있으며 읽기 및 쓰기 혼합 OLTP 모드입니다. mysql과 동일한 머신에서 실행됩니다.
테스트 시간: 5분/장면.
플러그인이 설치되지 않음
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 플러그인 공식 웹사이트 주소: 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 다시 시작
플러그인이 제거되지 않으며 로깅이 활성화되지 않습니다.
제거
UNINSTALL PLUGIN AUDIT를 직접 실행하면 제거 시 다음과 같은 오류가 보고됩니다. AUDIT 플러그인 제거가 비활성화되었습니다.
동시에 'audit_uninstall_plugin' 변수가 읽기 전용 변수인 것으로 확인되었습니다
my.cnf에 audit_uninstall_plugin=1을 추가하고 mysql을 다시 시작해야 합니다.
다시 시작한 후 UNINSTALL PLUGIN AUDIT를 두 번 실행하여 제거합니다.
제거가 완료된 후 my.cnf에서 audit_uninstall_plugin=1을 삭제해야 합니다. 그렇지 않으면 다음에 mysql을 시작할 때 오류가 보고됩니다: [ERROR] /data/mysql/bin/mysqld: 알 수 없는 변수 '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"}
성공적인 작업의 로그만 기록됩니다
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 플러그인 공식 웹사이트 주소: 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 다시 시작
플러그인은 제거되지 않으며 로깅도 활성화되지 않습니다. 단, 모든 매개변수가 재설정되므로 다시 활성화할 때 필수 매개변수 구성을 수행해야 합니다.
제거
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
모든 작업이 기록됩니다. SQL 주입이 기록될 수 있습니다.
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.)
요약:
mcafee의 감사 플러그인:
성능이 약 46% 떨어졌습니다. log 3.0 G
플러그인을 제거하려면 mysql을 다시 시작해야 합니다. 플러그인은 자동으로 스크롤되지 않으며, 추가 정리 작업을 배포해야 합니다. 정리 작업 실패로 인해 디스크 공간이 부족할 위험이 있습니다. 로그를 다른 서버로 가져오는 분석 및 정리 작업을 조정하기가 어렵습니다. , 청소 작업에는 어느 정도 결합이 있습니다.
mariadb 감사 플러그인:
성능이 약 41% 감소하여 1864M 로그가 생성되었습니다.
mcafee 플러그인보다 성능이 조금 더 좋습니다. 감사 로그에는 자동 스크롤 기능이 있습니다. 제거가 쉽습니다. 호환성 측면에서 5.6.12 버전 테스트는 버전 1.1.7 이상에는 적합하지 않습니다. 사용하는 경우 MySQL 데몬은 mysql을 무기한으로 다시 시작합니다. 공식적으로 버전 1.2.0 이상은 MySQL 5.6.17에서 사용해야 합니다. 이상이며, 사용하기 전에 테스트를 거쳐야 합니다.
Percona의 감사 플러그인:
5.6.17 이전 버전과 호환되지 않으며 아직 테스트되지 않았습니다.
이상은 MySQL 감사 플러그인 테스트(mcafee, mariadb 버전)에 대한 자세한 소개입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!