web-dev-qa-db-ja.com

MySQL InnoDBデータベース用のホットバックアップツールは、Percona XtraBackup、Zmanda Recovery Manager Enterprise、Communityなどのどれですか。

PHP/MySQLウェブサイトを管理しています:

  • 最大500の同時ユーザー/更新/読み取りで1時間あたり平均4000
  • 1 MySQL Community Server(5.1)-(Xeon/16 Go RAM)
  • 1.4 Goのデータ用に100テーブルのInnoDBストレージエンジン

実際には、30分ごとにcronジョブがファイルに完全なダンプを作成します...しかし、いくつかあるため、PHPで致命的なエラーが発生します(タイムアウトのため))

だから私は本当のホットバックアップをするためのツールが欲しい...私はググって「stackoverflowed」し、それは「製品が仕事をしているようだ:-Percona XTraBackup(無料)-Zmanda Recovery Manager Community(無料)-Zmanda Recovery Manager Enterprise(500 $)

しかし、本当に何が違い、何が基準となり得るのかはわかりません。私のニーズは単純なようです。Webサイトをダウンさせずにクラッシュが発生した場合にデータベースを復元するためにフル(または増分)バックアップを作成しました...私はDBAではないので、「シンプルな」製品が必要です。

助けてくれてありがとう。

5
Grey Goda

免責事項:私はPerconaで働いており、Percona XtraBackup開発者の1人です。

あなたはオプションを試して、あなたにとって最もうまくいくものを見る必要があります。

あなたのニーズを考えると、まず Percona XtraBackup を評価します。完全および増分ホットバックアップを正常に実行します。実際、Zmanda Recovery ManagerはホットなInnoDBバックアップのバックエンドとしてPercona XtraBackupを使用しています。

2

質問を読んだだけで、追加の詳細はありませんが、高可用性やDBクラスタリングが存在しないことを心配しています。少なくとも、スレーブとして商品サーバーを使用してMySQLレプリケーションをセットアップする必要があります。

総データ量が1.4GBであれば、さまざまなことができます。

  • スレーブから、真夜中にmysqldump crontabされた単一トランザクションを実行します。
  • スレーブから、次のようにmysqldumpで個々のテーブルを作成します。
    • STOP SLAVE;
    • mysqldumpで各テーブルを個別のファイルに
    • START SLAVE;
  • スレーブから、Percona XtraBackupを使用します( + 1は、ローリーナスが最初に言及したので
  • マスターから、Percona XtraBackupを使用します
  • マスターから、真夜中にmysqldump crontabされた単一トランザクションを実行します。

いくつかのソリューションをスクリプト化したり、XtraBackupなどのオープンソースソリューションを使用したりしても、商用製品を購入することは本当にできません。

警告

XtraBackupはより理にかなっており、1.4 GBのInnoDBデータに対して非常に高速です。ただし、それを実行するときは、サーバーの負荷やDB/Siteのパフォーマンスの低下に悩まされないようにしてください。追加情報がなければ、XtraBackupがソリューションであることを知る唯一の方法は、XtraBackupを設定してマスターで実行することです。 DB /サイトのパフォーマンスの問題が発生した場合は、MySQLレプリケーションの設定に進み、スレーブでmysqldumpまたはXtraBackupを実行してください。

これは、個々のテーブルのmysqldumpの設定に関する私の過去の投稿です。

1
RolandoMySQLDBA