ホームページ >データベース >mysql チュートリアル >MySQL 監査プラグイン (mcafee および mariadb バージョン) のテストの詳細な紹介
テストサーバー構成: Dell R730、24 コア、SSD ディスク。
Centos バージョン: 6.4、MySQL バージョン: コミュニティ 5.6.12、テスト データベース サイズ: 24G。
sysbench パラメータ: 64 スレッド、10 テーブル、各テーブルは 1,000 万のデータで事前に初期化されており、読み取りと書き込みの混合 OLTP モードです。 mysql と同じマシン上で実行されます。
テスト期間: 1シーンあたり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プラグイン公式Webサイトアドレス: 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を再起動
プラグインはアンインストールされず、ログは有効になりません。
アンインストール
を直接実行するには、アンインストール時にエラーが報告されます: アンインストール AUDIT プラグインは無効です。
変数「audit_uninstall_plugin」が読み取り専用変数であることもわかりました
audit_uninstall_plugin=1 を my.cnf に追加して、mysql を再起動する必要があります。
再起動後、UNINSTALL PLUGIN AUDITを2回実行してアンインストールします。
アンインストールが完了したら、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 プラグインの公式 Web サイトのアドレス: 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% 低下し、3.0G のログが生成されました
プラグインをアンインストールするには、mysql を再起動する必要があります。プラグインは自動的にスクロールしないため、追加のクリーニング タスクを展開する必要があります。クリーニング タスクの失敗により、ディスク領域が不足する可能性があります。他のサーバーにログを取得する分析タスクとクリーニング タスクを調整するのが困難です。 、そして清掃作業にはある程度の結合があります。
mariadb 監査プラグイン:
パフォーマンスが約 41% 低下し、18 億 6400 万個のログが生成されました。
パフォーマンスはマカフィーのプラグインよりわずかに優れています。 監査ログには自動スクロール機能があります。アンインストールも簡単。 互換性の観点から、5.6.12 のバージョン テストはバージョン 1.1.7 以降には適していません。これを使用すると、MySQL デーモンが無期限に mysql を再起動します。正式には、MySQL 5.6.17 ではバージョン 1.2.0 以降を使用する必要があります。以上であり、使用前にテストする必要があります。
percona の監査プラグイン:
は 5.6.17 より前のバージョンには適合しておらず、まだテストされていません。
上記は、MySQL 監査プラグイン テスト (mcafee および mariadb バージョン) の詳細な紹介です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。