私は大きな MySQL データベースを維持しています。毎晩バックアップする必要がありますが、DB は常にアクティブです。ユーザーからの問い合わせがあります。今はウェブサイトを無効にしてからバックアップを行っていますが、サービスが無効になっており、ユーザーがこれを好まないため、これは非常に悪いことです。
バックアップ中にデータが変更された場合、データをバックアップする適切な方法は何ですか?
このためのベストプラクティスは何ですか?
私は大きな MySQL データベースを維持しています。毎晩バックアップする必要がありますが、DB は常にアクティブです。ユーザーからの問い合わせがあります。今はウェブサイトを無効にしてからバックアップを行っていますが、サービスが無効になっており、ユーザーがこれを好まないため、これは非常に悪いことです。
バックアップ中にデータが変更された場合、データをバックアップする適切な方法は何ですか?
このためのベストプラクティスは何ですか?
データベース サーバーの読み取り専用レプリケーション スレーブを使用して、このスキームを実装しました。
MySQL データベース レプリケーションは、セットアップと監視が非常に簡単です。本番データベースに加えられたすべての変更を取得するように設定し、夜間にオフラインにしてバックアップを作成できます。
レプリケーション スレーブ サーバーを読み取り専用として起動し、直接変更を加えることができないようにすることができます。
レプリケーション スレーブを必要としない他の方法もありますが、私の経験では、この問題を解決するためのかなり確実な方法でした。
MySQL Replicationに関するドキュメントへのリンクは次のとおりです。
これは、innodb と myiasm のどちらを使用するかによって部分的に異なります。innodb の場合。mySQL には独自の (費用がかかる) ソリューション (innodb ホット コピー) がありますが、Percona のオープン ソース バージョンを参照してください。
あなたがやりたいことは「オンラインバックアップ」と呼ばれています。詳細情報を含む可能なオプションのマトリックスへのポインターを次に示します。
http://www.zmanda.com/blogs/?p=19
基本的には、使用しているストレージ バックエンドと、利用可能なハードウェアの量に帰着します。