前提条件
高可用性DBシステムには、高可用性互換の構成が必要です。DBシステムの高可用性機能ではMySQL Group Replicationが使用されるため、各表には主キーが必要です。高可用性のDBシステムに主キーのない表を作成しようとすると、失敗します。
ノート
コンソールを使用してDBシステムの高可用性を有効にする場合は、自動ストレージ拡張も有効にする必要があります。この要件は、CLIまたはREST APIでは適用されません。
コンソールを使用してDBシステムの高可用性を有効にする場合は、自動ストレージ拡張も有効にする必要があります。この要件は、CLIまたはREST APIでは適用されません。
高可用性と互換性のあるデフォルト構成はすべて、構成名にHA接尾辞が付きます。高可用性をサポートするカスタム構成を作成する場合は、「構成のコピー」メソッドを使用して、高可用性をサポートする既存の構成からコピーする必要があります。「構成のコピー」を参照してください。
データを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シェルなどのコマンドライン・クライアントを使用して、表に主キーがないか確認し、主キーがないものをリストします。主キーは、高可用性で使用されるグループ・レプリケーションの前提条件です。