2012-03-03 8 views
2

私はデータベースのバックアップ戦略について疑問を抱いていました。現在、システム管理者は8時間ごとにデータベースをバックアップしています。私は実際にどうやっているのかは分かりませんが、バックアップが実行されている間、アプリケーションの応答時間は屋根を通ります。したがって、8時間ごとにアプリケーションが遅くなり、エラーが発生することさえあります。アプリケーションを遅くすることなくMySQLデータベースをバックアップするには?

アプリケーションコードを遅くすることなくMyISAMテーブルを使用してMySQLデータベースをバックアップする方法はありますが、一貫したバックアップが得られますか?これをまだ実装されていないた

+0

なぜあなたのsys管理者がcronで自動化し、オフピーク時に行うのですか –

+0

これはもちろん自動化されています。 「ピーク時」はなく、たとえそれがあったとしても、1日1回ではほとんどの場合十分ではありません。物事が壊れても、8時間ごとでさえ問題になります。 – janpio

答えて

2

binlogsでバックアップを行うのは間違いなく高速です。別のサーバーをスレーブとして設定してチェックアウトし、バックアップからバックアップを取ってアプリケーションの減速を完全に取り除くこともできます。

多分、mysqlダンプをして再考するように依頼すれば、今日のやり方を研究することができます。

MYSQLサーバは、マスタサーバまたはスレーブサーバとして実行できます。マスター→スレーブモードでは、1つのサーバーがすべてのmysqlの挿入と更新(マスター)を取得し、すべてのスレーブが選択を提供します。マスターはスレーブを更新します。次に、スレーブからバックアップを行うだけです。

マスターはバックアップが行われていることを知りませんし、まったく遅くしません。レプリケーションの詳細については、dev.mysql.com/doc/refman/5.0/en/replication.htmlを参照してください。

+0

これはまさに私が来週にやりたいことですが、これに取り組む方法を大まかに考えて議論を始めたいと思っていました。あなたは奴隷のことを詳しく説明できますか? – janpio

+1

MYSQLサーバは、マスタサーバまたはスレーブサーバとして実行できます。 マスタ - >スレーブモードでは、1つのサーバがすべてのmysqlの挿入と更新(マスタ)を取得し、すべてのスレーブが選択を提供します。マスターはスレーブを更新します。 次に、スレーブからのバックアップだけです。マスターはバックアップが起こっていることを知りませんし、まったく遅くしません。 レプリケーションの詳細については、http://dev.mysql.com/doc/refman/5.0/en/replication.htmlを参照してください。 – Snowflow

+0

説明をありがとう。私たちの現在の設定と比べるとかなりラッドに聞こえますが、システム管理者が私のようにそれを好きになることを願っています。スレーブは同じサーバー上で実行できる余分なボックスにする必要がありますか? – janpio

2

私自身は、私はちょうど[可能性]正しい方向にあなたを指すことができます:http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

アイデア2番目のサーバーにそれらをピックアップし、バッファログへの書き込みをストリーミングすることで、そのサーバーのバックアップを作成します。

+0

これは行くべき方向だと思われます。バックアップに使用されるスレーブへのレプリケーション。 – janpio

関連する問題