スレーブがインターネットから長期間アクセスできなくなったときに2つのデータベースを同期するmysqlの組み込みレプリケーションを使用していないツールがあるかどうか、ここにいる誰かが知っていますか?
アイデアは、VMの電源を入れ、テスト/開発の目的で本番DBのスレーブから自動的にクローンを作成できるWeb開発者向けに仮想マシンベースをセットアップすることです。それらはすべて独自のDBを必要としますが、起動時にすべてマスターDBを複製する必要があります。
動作図:
本番DB->本番読み取り専用スレーブ->開発仮想マシン
私が考えることができる唯一のDBは Percona XtraDB Cluster(PXC)
クラスターノード全体をコピーする方法は2つあります
私は前にこれに対処しました
Oct 25, 2012
: 開始時にデータベース全体をフェッチするためのmysql読み取りスレーブOct 03, 2012
: これによりXtraDBクラスターがハングしますか?データベース全体がInnoDBの場合、これは理想的なソリューションです。読み取り専用のMyISAMテーブルがある場合、MyISAMをすべてのノードに手動でコピーすれば問題ありません。 [〜#〜] sst [〜#〜] はMyISAMテーブルの完全なコピーを実行しますが、 PXCのマルチマスターレプリケーション機能 MyISAMデータはレプリケーションされません。
PXCについては、Amazon EC2で厳密にテストしましたが、夢のように機能します。 PXCは宣伝どおりに機能します。
drogart 次のコメントをしました:
実稼働クラスターの1つのノードを開発/テスト環境にするのは良い考えではないと思います。それは、開発者の書き込みトラフィックを製品データベースに戻すことを混合します。また、開発者が新しいノードを起動することにより、proddbクラスターに影響を与える可能性がある状況も発生します。
ここに非常に有効なポイントがあります。これに照らして、開発者がこれを行うことができることについては、非常に慎重で慎重に行ってください。
それでも、開発サーバーで本番環境の完全なコピーが必要になった場合は、オフピーク:
この開発サーバーをセットアップしたら、次の手順を実行して更新します。
rm -f /var/lib/mysql/galera.cache
rm -f /var/lib/mysql/grastate.dat