2つの異なるMySQLクラスターでスキームの一貫性を保つ簡単な方法があるのだろうか。従来のレプリケーションとは別に、別のクラスター(つまり、そのクラスターのマスター)ですべてのDDLクエリ(CREATE、ALTER、DROPなど)を再現する特別な「レプリケーション」が必要です。
実際のデータを複製する必要はありません。
誰かがこのようなことをしたり試したりしたことがありますか?
2つの異なるMySQLクラスターでスキームの一貫性を保つ簡単な方法があるのだろうか。従来のレプリケーションとは別に、別のクラスター(つまり、そのクラスターのマスター)ですべてのDDLクエリ(CREATE、ALTER、DROPなど)を再現する特別な「レプリケーション」が必要です。
実際のデータを複製する必要はありません。
誰かがこのようなことをしたり試したりしたことがありますか?
クエリが実行されたデータベースに基づいて、MySQLでレプリケーションをフィルタリングできます。ただし、他のデータベースに変更を加えることを妨げるものではありません。だからあなたはできる。
USE ddl_repl_db;
ALTER TABLE other_db.foo ADD COLUMN <etc>
これは、サーバーを正しく構成することに依存しています。しばらくの間MySQLレプリケーションを設定していませんが、IIRCでは、レプリケーションのためにマスターから送信するものとスレーブで受け入れるものの両方をフィルタリングできます。
古いですが、まだ検索数が多いです。
したがって、DDLレプリカですべてのテーブルエンジンをBLACKHOLEに設定します