2012-03-30 9 views
0

データセンター間でmysql \ dataファイルとmysqlレプリケーションを単純にコピーするのは意味がありますか?私は、データセンターを横断すると、MySQLのレプリケーションが複雑になるという印象を受けています。コピーすれば、プライマリかスレーブかを気にせずに他のデータセンターに簡単に切り替えることができます。何かご意見は?クロスデータセンター:MySQLレプリケーションと単純なファイルコピー

+0

データセンターで何をしようとしていますか?レプリケーションを行わないと、スイッチオーバー時に一貫性のない/古いデータが残ることになります。 – KernelM

+0

@ KernelMデータセンターのフェールオーバーを試みているので、DC1に障害が発生した場合、DC2に切り替えることができます。 – IMB

答えて

1

MySQL with InnoDBストレージエンジンは、行のマルチバージョン化を使用します。これは、まだコミットされていない可能性があるデータベースに変更が加えられていることを意味します(可能性は元に戻ります)。単にファイルをコピーすると、矛盾した状態になります。

MyISAMを使用している場合、ファイルのコピーは安全です。レプリケーション・センターは変更のみを転送し、コピーは毎回データベース全体を転送します。大規模なデータベースでは賢明ではありません。

+0

まあ、私はInnodbとあなたがコミットされていない行についてはまったく考えなかった。だから、私は他の解決策は、SQLダンプ(とインポート)をコピーすることだと思います、ダンプはコミットされた行だけを含むと思いますか? – IMB

+1

一貫したInnoDB(ほぼ)ホットバックアップを作ることは可能ですが、非常に注意する必要があります。 http://www.mysqlperformanceblog.com/2006/08/21/using-lvm-for-mysql-backup-and-replication-setup/ – KernelM

0

レプリケーションは、データセンター間のデータベースを「ライブ」に同期させます。 データベース全体の処理に多くの時間がかかり、最初の変更が行われた後にデータベースが非同期になります。

関連する問題