序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の用途があります。ログを分析することで、データベースのパフォーマンスを最適化したり、トラブルシューティングを行ったり、データを復元したりすることもできます。これらのさまざまな種類のログは、データベースをより明確に理解するのに役立ちます。また、日常の学習や運用および保守でもこれらのログを扱います。このセクションでは、MySQL データベースのいくつかの一般的なログの機能と管理方法を紹介します。 1. エラーログ エラー ログには、mysqld の起動と停止に関連する情報、およびサーバー操作中に発生したエラーと警告が記録されます。データベースが予期せずクラッシュしたり、その他のエラーが発生した場合は、エラー ログを確認する必要があります。 log_error パラメータは、エラー ログをファイルに書き込むかどうかと、そのファイル名を制御します。デフォルトでは、エラー ログは端末の標準出力 stderr に書き込まれます。もちろん、エラー ログ ファイルの場所と名前をカスタマイズするには、log_error パラメータを指定することをお勧めします。 # エラーログの場所と名前を指定する vim /etc/my.cnf [mysqld] log_error = /data/mysql/logs/error.log 関連する構成変数の説明: log_error={1 | 0 | /PATH/TO/ERROR_LOG_FILENAME} エラー ログ ファイルを定義します。スコープはグローバルまたはセッション レベルであり、動的ではない変数です。 2. スロークエリログ スロー クエリ ログは、実行時間が long_query_time 変数で定義された時間を超えるクエリ ステートメントを記録するために使用されます。スロークエリログを使用すると、実行効率が低いクエリステートメントを見つけて最適化することができます。 遅いクエリに関連するいくつかのパラメータは次のとおりです。
デフォルトでは、スロー クエリ ログは有効になっていません。通常、低速 SQL の最適化を容易にするために、これを有効にすることをお勧めします。構成ファイルには次のパラメータを追加できます。 # スロークエリログ関連の設定は、実際の状況に応じて vim /etc/my.cnf を変更できます。 [mysqld] 遅いクエリログ = 1 slow_query_log_file = /data/mysql/logs/slow.log 長いクエリ時間 = 3 log_output = ファイル 3. 一般クエリログ(一般ログ) 一般クエリ ログ (ユニバーサル クエリ ログとも呼ばれる) は、MySQL で最も詳細なログです。このログには、mysqld の関連するすべての操作が記録されます。クライアントが接続または切断されると、サーバーはこのログに情報を書き込み、クライアントから受信した各 SQL ステートメントを記録します。一般クエリ ログは、クライアントにバグがある疑いがあり、クライアントが mysqld に送信した内容を正確に知りたい場合に役立ちます。 デフォルトでは、一般ログは無効になっています。一般クエリ ログを有効にするとディスク I/O が大幅に増加するため、デバッグ目的以外では一般クエリ ログを有効にすることはお勧めしません。関連するパラメータ構成は次のように紹介されています。 # 一般的なログ関連の設定 vim /etc/my.cnf [mysqld] general_log = 0 //デフォルト値は0で、無効であることを意味します。1に設定できます general_log_file = /data/mysql/logs/general.log //ログの場所と名前を指定します 4. バイナリログ(binlog) バイナリログに関しては、以前紹介した記事がありました。データベースによって実行されたすべての DDL および DML ステートメント (select や show などのデータ クエリ ステートメントを除く) を記録し、イベントの形式で記録してバイナリ ファイルに保存します。データの回復やマスタースレーブレプリケーションによく使用されます。 binlog に関連するいくつかのパラメータは次のとおりです。
Binlog はデフォルトでは有効になっていませんが、特にマスターとスレーブの同期を行う場合は、有効にすることをお勧めします。 #binlog 関連の設定 vim /etc/my.cnf [mysqld] サーバーID = 1003306 ログ bin = /data/mysql/logs/binlog binlog_format = 行 有効期限切れログ日数 = 15 5. リレーログ リレー ログは、マスター スレーブ レプリケーション アーキテクチャのスレーブ サーバーで使用されます。スレーブ サーバーのスレーブ プロセスは、マスター サーバーからバイナリ ログの内容を取得し、それをリレー ログに書き込みます。次に、IO プロセスはリレー ログ内のステートメントを読み取って実行します。 リレー ログ関連のパラメータは、通常、スレーブ データベースで設定されます。関連するパラメータをいくつか紹介します。
リレー ログのデフォルトの場所は、データ ファイルのディレクトリです。ファイル名は host_name-relay-bin です。ファイルの場所と名前はカスタマイズできます。 # リレーログ関連の設定は、ライブラリ側から vim で設定します /etc/my.cnf [mysqld] リレーログ = /data/mysql/logs/リレービン リレーログパージ = 1 リレーログリカバリ = 1 要約: この記事では主に、MySQL におけるいくつかの種類のログの目的と設定方法について説明します。絶対パスを指定しない場合、上記の種類のログはデフォルトでデータ ディレクトリに保存されることに注意してください。これらのログを保存するための専用の新しいログ ディレクトリを作成することもできます。まだ説明していない redo ログと undo ログがあるので、次の記事に残しておきます。 これで、MySQL の一般的なログに関するこの記事は終了です。MySQL の一般的なログに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: JavaScriptの動作メカニズムの詳細な説明とイベントループについての簡単な説明
開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...
ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...
目次1. インストール要件2. OSイメージのダウンロード3. VMware Workstation...
DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...
目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...
この記事では、例を使用して、MySQL を使用して正規表現に基づくあいまい文字列置換を実装する方法を...
HTML と CSS は誰もが知っていると思います。HTML の構造と CSS の表現の分離も知って...
目次0x01. パゴダパネルをインストールする0x02. サーバーポートを開く0x03. ブラウザを...
序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...
この記事の例では、Vue の日付時刻ピッカーコンポーネントの具体的なコードを参考までに紹介します。具...
1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...
この記事では、ページング効果を実現するためのjquery+Ajaxの具体的なコードを参考までに紹介し...
序文多くの友人は Mac コンピューターを持っていないと言っていますが、Windows 開発は実際に...
この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...
コンテナにネットワークインターフェースを追加する1 デフォルトのネットワークモードでコンテナを実行す...