Mysql には 4 種類のログ ファイルがあります: 1. データベースのさまざまな操作をバイナリ形式で記録するバイナリ ログ ファイル、クエリ ステートメントは記録しません; 2. 主に MySQL サーバーを記録するエラー ログ ファイル起動および停止プロセス中の情報、サーバー操作中に発生する障害および例外など; 3. 一般的なクエリ ログ ファイル、サーバーの起動およびシャットダウン情報、クライアント接続情報、更新、クエリ データ レコードの SQL ステートメントなどを記録します。 4. スロークエリログファイル。主に実行イベントが指定時間を超える操作を記録します。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
ログはデータベースの重要な部分であり、主にデータベースの実行ステータス、日々の操作、エラー情報を記録するために使用されます。
MySQL では、ログ ファイルはバイナリ ログ ファイル、エラー ログ ファイル、一般クエリ ログ ファイル、スロー クエリ ログ ファイルの 4 つのタイプに分類できます。
バイナリ ログ ファイル: このログ ファイルは、データベースのさまざまな操作をバイナリ形式で記録しますが、クエリ ステートメントは記録しません。これは主にデータベースの変更、つまり SQL ステートメントの DDL および DML ステートメントを記録するために使用され、データ レコードのクエリ操作は含まれません。
エラー ログ ファイル: 主に MySQL サーバーの起動および停止処理中の情報、サーバーの動作中に発生した障害や例外などの情報が記録されます。
一般クエリ ログ ファイル: このログには、MySQL サーバーの起動およびシャットダウン情報、クライアント接続情報、更新、データ レコードをクエリするための SQL ステートメントなどが記録されます。
スロー クエリ ログ ファイル: 実行イベントが指定時間を超えた操作を記録します。ツールを使用してスロー クエリ ログを分析することで、MySQL サーバーのパフォーマンスのボトルネックを特定できます。
MySQL でサポートされるログ ファイルのうち、バイナリ ログ ファイルを除く他のログ ファイルはテキスト ファイルです。デフォルトでは、MySQL はエラー ログ ファイルのみを開始し、他のログは手動で開始する必要があります。
ログの使用には利点と欠点があります。ロギングを有効にすると、MySQL サーバーのパフォーマンスは維持されますが、MySQL の実行速度が低下します。たとえば、クエリ操作が頻繁に行われる MySQL では、一般的なクエリ ログと低速クエリ ログの記録に時間がかかります。
ログ ファイルも多くのハード ディスク領域を占有します。ユーザー数が非常に多く、操作が非常に頻繁に行われるデータベースの場合、ログ ファイルに必要な記憶域スペースは、データベース ファイルに必要な記憶域スペースよりもさらに大きくなります。したがって、ログを有効にするかどうか、および有効にするログの種類は、特定のアプリケーションによって異なります。
拡張知識: MySQL はバイナリ ログを使用してデータベースを復元します
バイナリ ログには、INSERT ステートメント、UPDATE ステートメント、CREATE ステートメントなどのデータベース変更に対するすべてのユーザー操作が記録されます。 、など。不正操作などによりデータベースのデータが消失した場合、バイナリログを利用して一定期間内のユーザー操作を把握し、データベースのバックアップと組み合わせてデータベースを復元できます。
次に、バイナリログを利用してデータベースを復元する方法を詳しく紹介します。
データベースが誤って破損した場合は、まず最新のバックアップ ファイルを使用してデータベースを復元する必要があります。さらに、バックアップ後にデータベースが更新されている可能性があり、バイナリ ログを使用してデータベースを復元できます。バイナリ ログには、UPDATE ステートメント、INSERT ステートメントなど、データベースを更新するステートメントが保存されるためです。
バイナリ ログからデータベースを復元するコマンドは次のとおりです:
mysqlbinlog filename.number | mysql -u root -p
上記のコマンドは次のように理解できます: まず mysqlbinlog コマンドを使用して filename.number の内容を読み取り、次に次に、mysql コマンドを使用して、データベースの内容を復元します。
ヒント: バイナリ ログは MySQL データベースの復元に使用できますが、大量のディスク領域も消費します。したがって、MySQL データベースをバックアップした後は、バックアップ前のバイナリ ログを削除する必要があります。バックアップ後に例外が発生し、データベース データが消失した場合は、バックアップ後にバイナリ ログを通じて復元できます。
mysqlbinlog コマンドを使用して復元操作を実行する場合は、小さい番号を最初に復元する必要があります。たとえば、mylog.000002 の前に mylog.000001 を復元する必要があります。
例 1
以下では、バイナリ ログを使用してデータベースを復元します。コードは次のとおりです:
mysqlbinlog mylog.000001 | mysql -u root -p mysqlbinlog mylog.000002 | mysql -u root -p mysqlbinlog mylog.000003 | mysql -u root -p mysqlbinlog mylog.000004 | mysql -u root -p
[関連する推奨事項: mysql ビデオ チュートリアル ]
以上がmysqlのログファイルはどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。