ホームページ  >  記事  >  データベース  >  InnoDB モニターが不可解に開かれる問題の分析

InnoDB モニターが不可解に開かれる問題の分析

黄舟
黄舟オリジナル
2017-02-07 11:21:041975ブラウズ

1.問題があります

最近、あるライブラリのエラーログに大量のログ出力が発生していることが原因で、データベースの監視が意図せずオンになっていることが判明しました。その後電源を切るのが間に合わず、ログ記録とデータベースのパフォーマンスに影響を及ぼしました。 innodb_status_output ステータスと innodb_status_output_locks ステータスが両方とも ON であることを確認します。

mysql>  show variables like"innodb_status_output%";
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| innodb_status_output       | ON |
| innodb_status_output_locks| ON  |
+----------------------------+-------+
2 rows in set (0.00 sec)

2. InnoDB 監視に関連する 2 つのパラメーター

InnoDB には、StandardMonitor、LockMonitor、TablespaceMonitor、TableMonitor の 4 つの監視タイプがあります。削除後は、information_schema テーブルが使用されます。 。標準モニターは、テーブル ロック、行ロック、トランザクション ロック待機、スレッド セマフォ待機、ファイル IO リクエスト、バッファ プール統計、InnoDB メイン スレッド パージ、およびアクティブなトランザクションによって保持される変更バッファ マージ アクティビティを監視します。ロック モニターは、追加のロック情報を提供します。

InnoDB のモニターは必要な場合にのみオンになります。これにより、パフォーマンスのオーバーヘッドが発生します。監視が完了したら、必ずモニタリングをオフにしてください。

StandardMonitor をオンまたはオフにする方法は次のとおりです。 innodb_status_output パラメーターは、InnoDB モニターのオンまたはオフを制御するために使用されます。この開始方法では、監視結果がデータ ディレクトリ内の MySQL エラー ログに出力され、出力は 15 秒ごとに生成されるため、エラー ログに大量の出力が見つかります。

        set GLOBAL innodb_status_output=ON/OFF;

ロック モニターを開く方法と閉じる方法は次のとおりです。ロック モニターを開く前に innodb_status_output を有効にする必要があります。innodb_status_output を閉じると、標準モニターも閉じられます。一緒に。

   set GLOBALinnodb_status_output=ON;
        set GLOBAL innodb_status_output_locks=ON;

3. セキュリティ監査ログの追跡可能性分析

上記の不可解な起動操作は、セキュリティ監査ログを通じて追跡する必要があります。セキュリティ監査ログのサンプルフィールド分析は次のとおりです。公式 Web サイトのドキュメントによると次のようになります:

<AUDIT_RECORD>
 <NAME>Query</NAME>
 <RECORD>12050XXXXX_2016-08-08T08:07:52</RECORD>
 <TIMESTAMP>2016-09-17T06:10:40 UTC</TIMESTAMP>
 <COMMAND_CLASS>select</COMMAND_CLASS>
 <CONNECTION_ID>1618XXX</CONNECTION_ID>
 <STATUS>0</STATUS>
 <SQLTEXT>select 1</SQLTEXT>
  <USER>XX[XX]@  [172.XX.XX.XXX]</USER>
 <HOST></HOST>
 <OS_USER></OS_USER>
 <IP>172.XX.XX.XXX </IP>
</AUDIT_RECORD>

上記を理解します。 パラメーターの意味を理解した後、セキュリティ監査ログから対応するキーワード「innodb_status_output」とそのコンテキスト ログの内容を grep できます。形式の内容は次と同じです。上記の分析と分析に基づいて、この不可解な操作を実行したアカウント、操作時間、操作元 IP アドレスなどの情報を使用して、異常な問題を追跡できます。

4. 概要

(1) InnoDB のモニターは必要な場合にのみオンになり、データベースのパフォーマンスとログ出力に影響を与えるため、観察後すぐに閉じられます

(2) 同様の異常な操作はログのセキュリティ監査に合格する可能性があります。トレースでは、セキュリティ監査ログの記録の適時性が有効な範囲内にある必要があり、ストレージ容量と記録の適時性のバランスを取る必要があります

(3) さらに重要なのは、監査ログの記録制御とアカウント権限管理の制御に注意を払う必要があります。 。

上記は、InnoDB モニターが不可解に開かれる問題の分析です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。