MySQL:InnoDBテーブルの自動インクリメンタルバックアップ - mysql、backup、innodb

私はSOや他の場所で似たような/関連した質問があったことを知っています、そして私は少なくとも私は様々な選択肢を理解していると思います。

巨大なMySQL(コミュニティ版)dbがありますInnoDBテーブル付き。私はオフサイトでバックアップするために毎日DBのスナップショットを撮りたいと思います。現在、cron.dailyによって実行されるmysqldumpスクリプトを使用しています。しかし、コピーを書き出すのに3時間かかります。だから - それは増分する必要があります。

コミュニティ版なので余裕がないのでもう1つの選択肢は、バイナリロギングを有効にして差分更新を行うことです。しかし、これは巨大な痛みのようであり、エラーを起こしやすいです。可能であれば、アドバイスはこれを回避するようです。

そのため、最後の選択肢はマスタースレーブ構成でレプリケーションを設定することです。私は「ドキュメントをスキャンしましたが、何が「マスター」を構成し、何が「スレーブ」を構成するのか明確ではありません。

  • スレーブは別のmysqldプロセスですか?
  • スレーブはマスターと同じマシン上で動作できますか?
  • セットアップして実行した後は何らかの介入が必要ですか、それともマスターはすべての更新を忠実にプッシュしますか?
  • マスターに影響を与えずにバックアップを作成するには、おそらくスレーブ上でmysqldumpを実行するだけですか?
  • そして最後に、これはオフサイトコピー用のバックアップを維持するための合理的な解決策でしょうか。

ありがとうリチャード

回答:

回答№1は2

スレーブは別のmysqldプロセスですか?

別のmysqlデーモンを使用する必要はありません。
マスターではバイナリログを有効にします
スレーブでは、あなたはrelay-binを設定します
(見る http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

スレーブはマスターと同じマシン上で動作できますか?

はい、でも しないでください
マシンがクラッシュしたら
マスターとスレーブの両方が消えた
(DTP)

セットアップして実行した後は何らかの介入が必要ですか、それともマスターはすべての更新を忠実にプッシュしますか?

マスターは忠実にすべての更新をプッシュします
書き込みログをマスターログにバイナリログに記録します。
そしてスレーブはバイナリログを取得する必要があります(@Johanが説明したように、マスターから取得します)

しかしながら、

  1. テーブルロックはスレーブでレプリケーション遅延を引き起こす可能性があります
  2. スレーブで実行できない失敗書き込みクエリ

レプリケーションを扱うことができるのは、すべてのsqlをマスター上で実行できるようにするための方法です。
スレーブにコピーオーバー
受信した順番で再度実行する
(これがバイナリログの機能です)

マスターに影響を与えずにバックアップを作成するには、おそらくスレーブ上でmysqldumpを実行するだけですか?

もちろん、これは奴隷を持つことの目的です
ただし、多少の遅れがあります。
データをダンプしているとき
あなたは書き込みのためにテーブルをブロックするかもしれません(innodbの影響が少ないと仮定して)、
マスターはそれ以上の執筆を続けることができますが

そして最後に、これはオフサイトコピー用のバックアップを維持するための合理的な解決策でしょうか。

はい、これはMySQLの災害復旧として考慮されています


回答№2の場合は1

スレーブは別のmysqldプロセスですか?

それは可能ですが、より一般的には別のマシンにインストールされた別のMySQLサーバーです。

スレーブはマスターと同じマシン上で動作できますか?

はい、必要に応じて、異なるポート番号と異なるserver_idを割り当てます。
同じマシン上にある場合は、あまりバックアップにはなりません。

セットアップして実行した後は何らかの介入が必要ですか、それともマスターはすべての更新を忠実にプッシュしますか?

マスターはしません push なんでも、奴隷 pulls アップデート

マスターに影響を与えずにバックアップを作成するには、おそらくスレーブ上でmysqldumpを実行するだけですか?

はい、ただし、マスターとスレーブが同じマシンで実行されている場合、mysqldunmpを実行します 意志 そのサーバーを遅くします。

そして最後に、これはオフサイトコピー用のバックアップを維持するための合理的な解決策でしょうか。

はい、 オフサイト ここでキーワードです。
スレーブをオフサイトに配置します。これは、同じマシンにスレーブを置くよりも理にかなっています。

チュートリアルはこちら
http://www.howtoforge.com/mysql_master_master_replication


関連する質問
メニュー
最も人気のある