インターネットとビッグデータ時代の到来に伴い、MySQL データベースは、一般的に使用されるオープンソース データベース管理システムとして、ますます多くの企業や組織で採用されるようになりました。ただし、実際のアプリケーションプロセスでは、システムクラッシュ、クエリタイムアウト、デッドロックなど、MySQL データベースでさまざまなエラーや例外が発生する可能性があります。これらの異常はシステムの安定性とデータの整合性に重大な影響を与えるため、MySQL のエラーと異常を迅速に検出して分析することは非常に重要なタスクです。
ログ監視は MySQL の重要な機能の 1 つであり、MySQL ログを監視することにより、MySQL のエラーと例外を発見し、タイムリーに解決できます。この記事では、MySQL のログ監視機能を使用して、MySQL のエラーや例外を迅速に検出および分析する方法を紹介します。
1. MySQL ログ タイプ
MySQL は複数のタイプのログに分かれています。MySQL で一般的に使用されるいくつかのログ タイプは次のとおりです:
- エラー ログ (エラーlog): データベースの起動失敗、接続失敗など、動作中に MySQL によって生成されたエラー情報を記録します。エラー ログを表示すると、問題を特定できます。
- バイナリ ログ (バイナリ ログ): INSERT、UPDATE、DELETE などを含むすべての MySQL データ変更操作を記録し、データのリカバリとレプリケーションに使用できます。
- スロー クエリ ログ (スロー クエリ ログ): MySQL の実行時間が指定時間を超えた SQL ステートメントを記録します。クエリ ステートメントの最適化に使用できます。
- 一般クエリ ログ (一般クエリ ログ): SELECT、SHOW など、MySQL のすべてのクエリ操作を記録し、クエリ操作の監査に使用できます。
- リレー ログ (リレー ログ): MySQL マスター/スレーブ レプリケーションに使用され、スレーブ データベースがマスター データベースのバイナリ ログを自身に更新するプロセスを記録します。
2. MySQL ログを有効にする方法
MySQL で一般的に使用されるログ タイプは、エラー ログ、バイナリ ログ、スロー クエリ ログです。これらのログを有効にするには、まず MySQL 構成ファイル my.cnf (または my.ini、特定のファイル名はオペレーティング システムによって異なる場合があります) を変更し、ファイルに次の構成項目を追加する必要があります。
#エラー ログを有効にする: -
[mysqld]
log-error=/var/log/mysql/error.log #エラー ログの保存パス
バイナリログを有効にする :-
[mysqld]
log-bin=/var/log/mysql/mysql-bin.log # バイナリログの保存パス
スロー クエリ ログを有効にする: -
[mysqld]
slow_query_log=ON # スロー クエリ ログを有効にする
slow_query_log_file=/var/log/mysql/slow.log #保存パス低速クエリ ログの数
long_query_time=2 # 2 秒以上かかるクエリのみが記録されます
設定ファイルを変更した後、変更を有効にするために MySQL サービスを再起動する必要があります:
$ sudo systemctl restart mysqld
3. MySQL ログの読み取り方法
エラー ログの読み取り-
エラー ログの読み取りは、次の方法で直接実行できます。ログ ファイルの内容を表示します。たとえば、エラー ログが /var/log/mysql/error.log に保存されている場合、cat コマンドを使用してログ ファイルの内容を表示できます:
$ sudo cat /var/log/ mysql/error.log
バイナリ ログの読み取り-
バイナリ ログの読み取りは、MySQL コマンド ライン ツール mysqlbinlog を使用して実行できます。たとえば、バイナリ ログが /var/log/mysql/mysql-bin.log に保存されている場合、次のコマンドを使用してログ ファイルの内容を表示できます:
$ mysqlbinlog /var/log /mysql/mysql-bin.log
スロー クエリ ログの読み取り-
スロー クエリ ログの読み取りは、ログ ファイルの内容を表示することで直接実現できます。たとえば、スロー クエリ ログが /var/log/mysql/slow.log に保存されている場合、cat コマンドを使用してログ ファイルの内容を表示できます:
$ sudo cat /var/log /mysql/slow.log
4. MySQL ログを監視する方法
MySQL ログの監視を容易にするために、pt-query-digest や pt-query-digest などのオープン ソース ツールを使用できます。 mysqlbinlog。これらのツールは、MySQL ログの統計を分析および収集することができ、MySQL のエラーと例外をタイムリーに発見して解決するのに役立ちます。
pt-query-digest-
pt-query-digest は、MySQL のスロー クエリ ログの統計を分析および収集できるオープン ソースの MySQL クエリ分析ツールです。 pt-query-digest を使用すると、非効率なクエリ ステートメントを簡単に見つけて最適化できます。
pt-query-digest の使用例は次のとおりです:
$ pt-query-digest /var/log/mysql/slow.log > /tmp/slow_query_report.txt
このコマンドは、/var/log/mysql/slow.log ログ ファイルを分析し、分析結果を /tmp/slow_query_report.txt ファイルに出力します。
mysqlbinlog-
mysqlbinlog は、MySQL バイナリ ログを分析および処理できるオープン ソースの MySQL バイナリ ログ分析ツールです。 mysqlbinlog を使用すると、データ変更操作を簡単に表示し、データのリカバリとレプリケーションを実行できます。
mysqlbinlog の使用例は次のとおりです:
$ mysqlbinlog /var/log/mysql/mysql-bin.log > /tmp/binlog_report.sql
Thisコマンドは、/var/log/mysql/mysql-bin.log ログ ファイルを分析し、分析結果を /tmp/binlog_report.sql ファイルに出力します。
5.概要
MySQL のログ監視機能は、MySQL の正常な動作とデータのセキュリティを確保するための重要なツールです。 MySQL ログを有効にし、分析と統計用のオープンソース ツールを使用することにより、MySQL のエラーと例外を迅速に検出して分析し、メンテナンスと最適化をタイムリーに実行できます。
以上がMySql ログ監視: MySQL のエラーと例外を迅速に検出して分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。