web-dev-qa-db-ja.com

MySQLのバックアップ戦略?

私たちはinnodb mysqlデータベースを持っているので、多くの異なるmysqlバックアップ戦略で失われています。 mysqldumpについて話す人もいれば、サードパートツールについて話す人もいます。パーティションを実行する予定のテーブルの一部。このタスクに役立つ優れたツールはありますか?

5
newbie14

InnoDBのバックアップに関しては、今日(もちろん、私が見ているように)議論はほとんどありません。 Xtrabackup by Perconaは、以下を提供する、広く機能が豊富で安定したソリューションです。

  • ホットバックアップ(データベースにロックが設定されていない)
  • 増分バックアップ(ステートメントではなくページをバックアップすることによって行われます)
  • I/Oスロットリング(マシン/ディスクからの負荷を軽減するためにバックアップI/Oを制限できます)
  • バックアップは、バックアップの終了時に一貫しています(バックアップが開始されたときとは異なります)。

Xtrabackupは、現在MySQL Enterprise Backupと呼ばれているInnoDBホットバックアップから派生しています。追加の機能セットを可能にする追加のラッピングスクリプトがあります。

小さいデータベースは、共通のmysqldumpの恩恵を受ける可能性があります。それは本当にあなたのデータベースのサイズとトラフィックに依存します。 mysqldump--single-transactionを伴うイベントは、DBサーバーに高い負荷をかけ、ロックを蓄積します。思ったほど暑くありません(バックアップ温度については この投稿 を参照)。

LVMスナップショットをかなり頻繁に使用しています。大きな利点は、これらはDBを知らないため、このタイプのバックアップに影響するDB関連のバグがないことです。大きな欠点は、I/Oが過度に増加することです。チェックアウト mylvmbackup

ZFSまたはスナップショットをサポートする別のファイルシステムを使用している場合は、これが優れたソリューションになる場合があります。スナップショットをサポートするストレージデバイスがある場合、それも素晴らしいことです。すべてのスナップショットはDBを無視しますが、バックアップが実行される時点(DB単位)を把握するために、このa-la mylvmbackupをスクリプト化することがよくあります。

4
Shlomi Noach

私は昔ながらのDBAなので、とにかく聞いてください...

MySQLのバックアップに関するDBA StackExchangeの過去の記事

以前の投稿では、mysqldumpを1つのファイルと並行して実行することをお勧めします。 XtraBackupを試すこともお勧めします。 mysqldumpに制限したくありません。一部のデータベースは非常に大きいため、LVMスナップショットが唯一の可能なソリューションです。

3
RolandoMySQLDBA

バックアップ戦略を選択する際に考慮すべき重要な点:

  • バックアップからデータを回復する必要がある場合、許容可能なダウンタイムはどのくらいの期間か
  • リカバリは常にすべてのデータベースを意味しますか?または、特定のより重要なテーブルのより頻繁なバックアップの使用例はありますか?
  • バックアップを作成するサーバーの許容可能な負荷はどれくらいですか?つまり、バックアップ専用のレプリカがあるのでしょうか。またはあなたは組織としてお金にタイトであり、これをあなたの唯一のスレーブに対して実行する必要があります(私はあなたがそこに唯一のDBサーバーしかないと言っていないことを願っています:))
  • バックアップソリューションの支払いはオプションですか?または無料がより好ましいですか?

これは、優先順位の高い順にこれに取り組む方法です。そして、それは私の客観的な答えの終わりです:)

今、私の経験に基づく主観的な部分について:)

最近のDBセットアップの大部分では、唯一のバックアップソリューションとしてmysqldumpを使用することはスケーラブルではありません。遅く、巨大なファイルを作成し、mysqldumpのインポートには永久に時間がかかります。mysqldumpを使用すると、データ全体で一貫性のある真の「ポイントインタイム」リカバリが可能になります。私はmysqldumpを使用して、非常に重要でエンドユーザーのファウル(ユーザーテーブルやuser_profileなど)が発生しやすいv小さなテーブル(それぞれ200MB未満)をバックアップします。私がこれらに戻るときの一般的な使用例は、誰かが「このユーザーはいつ変更されましたか?そしてXを設定することの価値は何でしたか?」と尋ねるときです。真の「ワールドオンファイア」バックアップには、Perconaによるxtrabackupを使用します。これは無料で、オープンソースで、活発に開発されており、自動化も非常に簡単です。

2
TechieGurl