レプリケーションを行うサーバーが3つありますが、現在は1つだけがマスターで、他の2つはスレーブです。いずれかのスレーブが更新/挿入された場合に、変更が他のすべてのスレーブとマスターに伝達されるようにしたいと思います。どうすればこれを達成できますか?
私の最善の推測は、それらをすべてマスターにし、互いにスレーブにすることです。これは最適ですか?
レプリケーションを行うサーバーが3つありますが、現在は1つだけがマスターで、他の2つはスレーブです。いずれかのスレーブが更新/挿入された場合に、変更が他のすべてのスレーブとマスターに伝達されるようにしたいと思います。どうすればこれを達成できますか?
私の最善の推測は、それらをすべてマスターにし、互いにスレーブにすることです。これは最適ですか?
これは、標準のmysqlマスター/スレーブレプリケーションでは不可能です。マスターマスターセットアップ(このチュートリアルhttp://www.howtoforge.com/mysql_master_master_replicationを参照)を使用してこれを達成することを試みることができますが、重複キーが作成されないようにするためにかなりの労力が必要です。ただし、これで3つのマスターを処理できるかどうかはわかりません。
正直なところ、バニラMySQLは、このような分散DBに必要なテクノロジーには適していません。
必要なことを実行する可能性のあるMysqlクラスターがあります:http ://www.mysql.com/products/cluster/およびcassandraやmongoDBなどの他のテクノロジー(主にNOSQL)。