3

簡単な質問:
InnoDB エンジンを使用して MySQL インストールのカスタム バックアップを作成する際に、ib_logfile* ファイルをスキップしても安全ですか?

カスタムメイドのバックアップは、/var/lib/mysql + /etc/my.cnf のすべて (またはサブセット) を安全な場所にコピーするだけです。

私が知っているように、ib_logfile* ファイルは起動時に MySQL によって再作成されます + ファイルは非常に大きいため、バックアップに保存するのは賢明ではないかもしれません。はい、バックアップの前に MySQL が (正しく) 停止されていると仮定します。

4

1 に答える 1

7

あなたが説明している方法でデータベースをバックアップするのは安全ではありません。

その理由は、一部のデータ ページがまだ MySQL サーバーのメモリ内にあり、ディスクへの I/O フラッシュを保留しているかどうかがわからないためです。そのため、ファイルを含めるかどうかに関係なく、ファイルをコピーするとガベージがコピーされる可能性が高くなりib_logます。

あなたがしていることをしないでください。mysqlbackupまたは InnoDB のHot Backup製品を使用します。

編集:

InnoDB Performance Optimizationに関する Farhan Mashraqi のブログ記事を読んでください。MySQL Server をシャットダウンしている場合はib_log、ファイルを削除できると彼は述べています。

InnoDB ログのサイズ変更: オプションを変更して再起動するほど単純ではありません。MySQL サーバーをシャットダウンし、正常にシャットダウンすることを確認する必要があります (確認するには、エラーのエラー ログを確認してください)。次に、InnoDB ログ ファイル ib_log* を移動します。次に、MySQL サーバーを起動し、エラー ログ ファイルをチェックして、新しいログ ファイルが正常に作成されたかどうかを確認します。

そうです、ファイルのファイルシステムコピーibdataのみを実行できるはずです。ib_logファイルは MySQL サーバーの起動時に再作成されるため、含める必要はありません。ただし、ファイルシステムのコピーを使用してデータベースをバックアップすることはお勧めしません。

今日、MySQL 5.0 を使用して、この方法でデータベースをバックアップするとします。後でバックアップを復元する必要がありますが、その時までに、たとえば MySQL 6.5 などの将来のバージョンを使用することになります。ib_dataファイルは、その将来のバージョンでも同じ内部形式を使用しますか? MySQL 6.5 は、今日バックアップしたファイルを読み取りますか? あなたは確信が持てません。バックアップ形式は、移植性を高めることを目的としています。

于 2008-11-19T02:23:05.820 に答える