- 18.6.1 MySQL Cluster レプリケーション: 略語と記号
- 18.6.2 MySQL Cluster レプリケーションの一般要件
- 18.6.3 MySQL Cluster レプリケーションの既知の問題
- 18.6.4 MySQL Cluster レプリケーションスキーマとテーブル
- 18.6.5 レプリケーションのための MySQL Cluster の準備
- 18.6.6 MySQL Cluster レプリケーションの起動 (レプリケーションチャネルが 1 つ)
- 18.6.7 2 つのレプリケーションチャネルを使用する MySQL Cluster レプリケーション
- 18.6.8 MySQL Cluster レプリケーションを使用したフェイルオーバーの実装
- 18.6.9 MySQL Cluster レプリケーションを使用した MySQL Cluster バックアップ
- 18.6.10 MySQL Cluster レプリケーション: マルチマスターと循環レプリケーション
- 18.6.11 MySQL Cluster レプリケーションの競合解決
MySQL Cluster は、通常は単に「レプリケーション」と呼ばれる非同期レプリケーションをサポートしています。このセクションでは、MySQL Cluster として動作する、あるグループのコンピュータが、別のコンピュータまたはコンピュータのグループに複製する構成を、セットアップしたり管理したりする方法について説明します。標準の MySQL レプリケーションに関してはこのマニュアルで別途説明しています。(第17章「レプリケーション」を参照してください。)
通常 (非クラスタ) のレプリケーションは、「マスター」サーバーと 「スレーブ」サーバー、複製される操作とデータの元になるマスター、およびその受け手であるスレーブによって行われています。概念的にはレプリケーションは非常に似ていますが、MySQL Cluster では、実際には複雑さが増す可能性があります。2 つの完全なクラスタ間のレプリケーションを含む多くの異なる構成を対象にするために、MySQL Cluster が拡張される場合があるためです。MySQL Cluster 自身は、クラスタリングの機能を NDB
ストレージエンジンに依存していますが、複製されたテーブルのスレーブのコピーにストレージエンジンとして NDB
を使用する必要はありません (NDB から別のストレージエンジンへのレプリケーションを参照してください)。ただし、可用性を最大にするため、ある MySQL Cluster から別の MySQL Cluster に複製できます (複製することが望ましい)。また、ここで説明するのはこのシナリオであり、次の図で示すとおりです。

このシナリオでは、レプリケーションプロセスは、マスタークラスタの連続的な状態のログが取られ、スレーブクラスタに保存されるというプロセスです。このプロセスは NDB バイナリログインジェクタスレッドとして知られる特別なスレッドによって実行されます。このスレッドは各 MySQL サーバーで動作し、バイナリログ (binlog
) を作成します。このスレッドは、バイナリログを作成するクラスタのすべての変更 (MySQL Server を介して影響を受けた変更だけではありません) を、シリアライゼーションの正しい順序でバイナリログに挿入します。ここでは、MySQL のレプリケーションマスターとレプリケーションスレーブのサーバーをレプリケーションサーバーまたはレプリケーションノードと呼び、そのサーバー間のデータフローまたは通信回線をレプリケーションチャネルと呼びます。
MySQL Cluster および MySQL Cluster レプリケーションを使用したポイントインタイムリカバリの実行の情報につては、セクション18.6.9.2「MySQL Cluster レプリケーションを使用したポイントインタイムリカバリ」を参照してください。
NDB API _slave ステータス変数
NDB API カウンタは、MySQL Cluster のレプリケーションスレーブで高度なモニタリング監視機能を提供できます。これらは NDB 統計の _slave
ステータス変数として実装されます。この内容が見られるのは、SHOW STATUS
の出力の中、または MySQL Cluster レプリケーションでスレーブとして動作している MySQL Server に接続された mysql クライアントセッションの SESSION_STATUS
または GLOBAL_STATUS
テーブルに対してクエリーを発行した結果の中です。複製された NDB
テーブルに作用するステートメントの実行の前後でこれらのステータス変数の値を比較することで、NDB API レベルでスレーブによって行われる、対応したアクションを監視できます。これにより、MySQL Cluster レプリケーションのモニタリングまたはトラブルシューティングのときに役に立つ場合があります。追加情報については、セクション18.5.15「NDB API 統計のカウンタと変数」を参照してください。
NDB テーブルから非 NDB テーブルへのレプリケーション
マスターとして動作する MySQL Cluster から、スレーブ mysqld で InnoDB
または MyISAM
などのほかの MySQL ストレージエンジンを使用するテーブルに NDB
テーブルを複製できます。これには多くの条件が適用されます。詳細については、NDB から別のストレージエンジンへのレプリケーションおよびNDB から非トランザクションストレージエンジンへのレプリケーションを参照してください。