2011-07-09 12 views

答えて

1
  • mysqldumpコマンドは、データベース全体を再作成するのに十分なCREATE TABLEコマンドとINSERTコマンドを出力します。このコマンドで個々のテーブルまたはデータベースをバックアップできます。

    これは簡単に圧縮できます。もしそれをそのまま圧縮したいのであれば、コマンドライン用のストリーミングツールが必要になります。 UNIXの場合はmysqldump ... | gzipになります。 Windowsでは、パイプで動作するツールを見つける必要があります。

    これは私があなたが探しているものだと思います。私は他のオプションをリストアップします。

  • FLUSH TABLES WITH READ LOCKすべてのデータをディスクにフラッシュし、データフォルダのコピーを作成している間に変更できないようにします。

    復元を実行するときに、MySQLのbinログの完全な機能を維持したい場合は、ファイルに直接触れることでデータベースの一部を復元する必要はありません。最良の選択肢は、リストアされたファイルと代替のデータディレクトリを持ってそこからダンプし、通常のmysql接続チャンネルを使用して本番データベースにフィードすることです。ファイルシステムへの直接の変更は、binlogによって記録されません。

    ファイルを使用してデータベース全体を復元すると、問題はありません。あなたが賞味するならば。

    mysqldump

  • レプリケーションあなたは、同じまたは別のマシン上で実行されているのMySQLの別のインスタンスにバックアップできるようになり、この問題はありません。

  • binlogs。データベースの静的なコピーがある場合は、これらを使用してデータベースを前方に移動することができます。 binlogsは、データを変更したすべてのコマンドのログです。あなたが1日目に戻るbinlogsを持っているなら、あなたはあなたが探しているものをすでに持っているかもしれません。 1日目から任意の日付までのbinlogからすべてのコマンドを実行し、その日のデータベースのコピーを取得することができます。

0

AutoMySQLBackupのようなスクリプトを使用すると、毎日、毎週、毎月のバックアップを自動的に行い、バックアップディレクトリをきれいに保つことができますバックアップの長い歴史を提供しています。

バックアップもまた自然に圧縮されます。

+0

AutoMySQLBackupはlinuxをサポートしていますか? –

+0

@Mike:おそらく主にLinuxを対象にしているので、そうです。 –

1

Percona XtraBackupをチェックアウトすることをおすすめします。これは、MySQLの有料エンタープライズバックアップツールに代わるGPLライセンスの代替品であり、書き込まれた時点でもデータベースから一貫性のあるノンブロッキングバックアップを作成できます。これをmysqldumpで使用する理由については、this articleを参照してください。

関連する問題