前提条件
高可用性ではMySQLグループ・レプリケーションが使用され、各表に主キーが定義されていることが必要です。高可用性DBシステムに主キーのない表を作成しようとすると、失敗します。
データをHeatWaveに移行し、表に主キーを定義していない場合は、それらを追加する必要があります。表に主キーがあるか確認し、それがない表にはキーを追加します:
- コマンドライン・クライアントを使用した主キーの表の確認
- 次のいずれかの方法を使用して主キーを追加します:
- 非表示列の使用: コマンドライン・クライアントを使用した主キーの手動追加を参照してください。
ノート
非表示列を使用した主キーの追加は、高可用性DBシステムに対応できるように既存データを更新するための影響の少ない方法です。これはアプリケーションに対して透過的であり、新しい列はSELECT
問合せから隠された状態であるため、アプリケーションは以前と同様に動作し続けることができます。 - MySQLシェルのダンプ・ユーティリティの使用: MySQLシェルのダンプ・ユーティリティの
create_invisible_pks
を参照してください。 - MySQLシェルのロード・ユーティリティの使用: MySQLシェルのロード・ユーティリティの
createInvisiblePKs
を参照してください。ノート
MySQLシェル・ダンプおよびロード・ユーティリティを使用するには、MySQLシェル・バージョン8.0.30以上を使用します。 sql_generate_invisible_primary_key
変数の使用: 作成した新しい表に主キーを追加するには、変数をON
に設定します。変数をON
に設定すると、既存の表に主キーは追加されません。「非表示主キーの生成」を参照してください。
- 非表示列の使用: コマンドライン・クライアントを使用した主キーの手動追加を参照してください。
コマンドライン・クライアントを使用した主キーの表の確認
MySQLクライアントやMySQLシェルなどのコマンドライン・クライアントを使用して、表に主キーがあるか確認し、主キーがある表をリストします。主キーは、高可用性で使用されるグループ・レプリケーションの前提条件です。