2011-10-27 10 views
2

私は共有サーバーにMySQLをインストールし、phpMyAdminからアクセスできます。私はクラウドのmySQLデータベースにそのデータベースの連続したリアルタイムのクローンを作成したいと考えています(このデータベース用に特別にNginx対応のMySQLサーバを作成しました)。古いもののリアルタイムクローンを作成してから、新しいデータベースを指す...mySQLを連続的に複製する方法。共有ホスティングですぐに

答えて

1

共有サーバー環境でMySQLのリアルタイムレプリケーションを行うのは難しいと思います。あなたはdbサーバーを動かすように見えるので、私はあなたのデータのホットコピーを作成し、新しいdbサーバーにインストールする傾向があります。そのコピーを取ると同時に、アプリケーションのクエリログを有効にする必要があります。

あなたのスイッチオーバーは、新しいデータベース(ログされたよりも速い)に対してログされたクエリを実行することから成ります。最後に、ログされたすべてのクエリが実行された時点で、 dbが使用されます。

編集:ホットコピーの問題は、データがコピーされるのと同時にデータベースに書き込まれることです。これは、「最終更新日時」が各テーブルごとに異なることを意味します。それに基づいて、アプリケーションで、各行に 'last_updated'列を設定することは可能ですか?そうであれば、まだログに記録されているクエリをコピーする必要があるかどうかを各テーブルに伝えることができます。

+0

私はレプリケーションを試みます。私はデータベースを10分ごとにコピーを開始する必要があります。そして数日後に10分遅れで同期が取れていることが分かったら、新しいFTPファイルをアップロードして上書きし、10分かかります。私は手動でいくつか手を加えなければならないでしょう。 – TheBlackBenzKid

+2

成功した場合は、それを文書化してウェブ上に置いてください - それは人数の多い人には便利だと思います!また、上記のことが痛みであることが判明した場合、事前にユーザーにアドバイスして慎重に選択すると、ダウンタイムが発生する可能性があることを忘れないでください。 – halfer

+0

問題ありません..... – TheBlackBenzKid

1

あなたが探しているのは複製です。これは、単一の投稿でここでカバーする多くのオプションがあります。

http://dev.mysql.com/doc/refman/5.5/en/replication.html

あなたは、あなたがit.Yourホストだから、これはあなたの帯域幅のリソースを使用していない仮想ローカルエリアネットワークを許す可能性がある確保することをお勧めしますインターネット上での複製をするつもりならば。これは、他のタスクのために良いことだが、それはまた、あなたがライブを複製することができます

あなたが見なければならないperconaからツールの大きなセットがmaatkit

https://launchpad.net/percona-toolkit

ドキュメンテーションと使用例 http://www.maatkit.org/doc/

ですデータベースを素早く検索できます

ライブデータベースを使用して作業している場合、バックアップが最新であることが確認されます。

関連する問題