PolarDB for MySQL では、異なるメジャー バージョン と エディション 間で PolarDB for MySQL クラスタをアップグレードできます。アップグレード中、システムは自動的にターゲット PolarDB クラスタを作成し、ソースクラスタからデータを同期します。ターゲット PolarDB for MySQL クラスタは、ソース PolarDB for MySQL クラスタのアカウント、データベース、IP ホワイトリスト、および必須パラメーターを保持します。
バージョンアップグレード
PolarDB for MySQL 5.6 クラスタを PolarDB for MySQL 5.7、8.0.1、または 8.0.2 クラスタにアップグレードします。
PolarDB for MySQL 5.7 クラスタを PolarDB for MySQL 8.0.1 または 8.0.2 クラスタにアップグレードします。
PolarDB for MySQL 8.0.1 クラスタを PolarDB for MySQL 8.0.2 クラスタにアップグレードします。
エディションのアップグレード
Enterprise Edition クラスタ: クラスタ版 から マルチマスタークラスタ (Limitless) エディションにアップグレードします。
課金方法の変更
定義された仕様の サブスクリプション または 従量課金 クラスタを サーバーレス クラスタに変更します。
サーバーレス クラスターを、定義済みの仕様を持つ サブスクリプション または 従量課金 クラスターに変更します。
詳細については、「アップグレード手順」をご参照ください。
メリット
ソースクラスタのエンドポイントは保持されます。アプリケーションの接続設定を変更することなく、新しいバージョンに切り替えることができます。
増分データ移行がサポートされています。これにより、10分未満のサービスダウンタイムでデータを移行できます。
ホットアップグレードがサポートされています。アップグレード中に発生する一時的な切断は 1 回だけです。
ロールバックがサポートされています。アップグレードが失敗した場合、クラスタは 10 分以内に復元できます。
制限事項
カテゴリ | 説明 |
ソースデータベースの制限 |
|
SQL 文の制限 | 説明 PolarDB for MySQL のキーワードは、MySQL のキーワードと 100% 互換性があります。
|
その他の制限 |
|
その他の問題 | DTS は、バイナリログファイルの位置を進めるために、ソースデータベースで |
使用上の注意
ソースクラスタのエンドポイントで SSL が有効になっていて、エンドポイントで切り替え を選択した場合は、ターゲットクラスタのエンドポイントで SSL が有効になっていることを確認してください。
グローバルデータベースネットワーク (GDN) に追加されているクラスタのバージョンをアップグレードすることはできません。
マルチマスタークラスタ (データベース/テーブル) 版の PolarDB for MySQL クラスタのエンドポイントでは、SSL はサポートされていません。したがって、エンドポイントで SSL が有効になっているソースクラスタをマルチマスタークラスタ (データベース/テーブル) 版のクラスタにエディションアップグレードを実行する場合、エンドポイントでの切り替えはサポートされていません。
アップグレード中、初期完全データ同期はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースの負荷が増加する可能性があります。
アップグレード中、初期完全データ同期は同時 INSERT 操作を実行し、ターゲットデータベースのテーブルで断片化が発生します。完全データ同期が完了すると、ターゲットデータベースの表領域はソースデータベースよりも大きくなります。
アップグレード中に DTS タスクを手動で解放しないでください。
完全データ同期は完了するまでに時間がかかります。所要時間はデータ量によって異なります。完全データ同期中、ターゲットは 作成中 状態です。
アップグレードする PolarDB クラスタが既存の DTS タスクのソースまたはターゲットである場合、アップグレードプロセス中に DTS タスクのスイッチオーバーを実行 して、DTS 同期または移行タスクのソースまたはターゲットクラスタを変更できます。これにより、スムーズなビジネストランジションが保証されます。
アップグレードが完了した後、一部の SQL 文のパフォーマンスが低下する可能性があります。これは、アップグレード後にクエリプランが変更されるためです。たとえば、クエリプランが適切なインデックスを使用していない場合があります。このような変更は、主に以下の点の違いによって発生します。
データベースエンジンバージョン: 新しいバージョンのオプティマイザーで使用されるアルゴリズムは、古いバージョンのアルゴリズムとは異なる場合があります。オプティマイザーの動作が変更される場合があります。
ストレージ構造と統計: 同じデータであっても、新しいデータベースと古いデータベースは異なる InnoDB B-tree ストレージ構造とテーブル統計を使用します。オプティマイザーは異なるクエリプランを選択する場合があります。
請求ルール
DTS データ同期タスクとターゲット PolarDB クラスタに対して課金されます。
アップグレード中、ソースクラスタからターゲットクラスタにデータを同期するために DTS タスクが自動的に作成されます。DTS タスクの請求ルールの詳細については、「請求の概要」をご参照ください。
ターゲット PolarDB クラスタ:
ターゲット PolarDB クラスタがサーバーレスクラスタまたはサブスクリプションクラスタの場合、ターゲットクラスタは 実行中 状態になると課金が開始されます。
サブスクリプションクラスタの場合、クラスタを作成するときに支払いを完了する必要があります。
メジャーバージョンをアップグレードした サブスクリプション クラスタが不要になった場合は、サブスクリプション解除の払い戻しを申請して、リソースとコストを削減できます。詳細については、「アップグレード後のサブスクリプション解除の払い戻し」をご参照ください。
エンドポイントで切り替え
PolarDB for MySQL クラスタをアップグレードする場合、エンドポイントで切り替え機能がサポートされています。システムは、ソースクラスタとターゲットクラスタのエンドポイントを自動的に切り替えます。次の図は、エンドポイントのマッピングを示しています。
バージョンアップグレードのエンドポイントマッピング
クラスタ版からマルチマスタークラスタ (データベース/テーブル) 版へのエディションアップグレードのエンドポイントマッピング
エディションのアップグレードでは、切り替えるソースクラスタとターゲットクラスタのエンドポイントを指定できます。たとえば、ソースクラスタのプライマリエンドポイントとターゲットクラスタのクラスターエンドポイント間、ソースクラスタのプライマリエンドポイントとターゲットクラスタのカスタムエンドポイント間、およびソースクラスタのクラスターエンドポイントとターゲットクラスタのカスタムエンドポイント間で切り替えることができます。次の図は、エンドポイントの内部マッピングを示しています。
エンドポイントで切り替え機能を使用する場合は、次の点に注意してください。
ソースクラスタとターゲットクラスタのエンドポイントのみが切り替えられます。vSwitch や仮想 IP アドレスなどの他の構成は変更されません。
エンドポイントは、ソースクラスタとターゲットクラスタの両方にエンドポイントがある場合にのみ切り替えることができます。デフォルトでは、非公開エンドポイントのみを切り替えることができます。
説明ソースクラスタのエンドポイントにパブリックエンドポイントがある場合は、ターゲットクラスタの対応するエンドポイントにパブリックエンドポイントを申請する必要があります。これにより、エンドポイントのスイッチオーバープロセス中にパブリックエンドポイントが正常に切り替えられます。
バージョンアップグレードでエンドポイントで切り替えを選択した場合、ソースクラスタとターゲットクラスタのプライマリエンドポイントが切り替えられます。複数のエンドポイントグループを切り替えるかどうかを選択できます。
エディションアップグレードでエンドポイントで切り替えを選択した場合、切り替えるソースクラスタとターゲットクラスタのエンドポイントを指定できます。複数のエンドポイントグループを切り替えるかどうかを選択できます。
別のエンドポイントに切り替える場合は、スイッチオーバーの前にエンドポイントを作成する必要があります。PolarDB クラスタのエンドポイントの作成方法の詳細については、「クラスタのエンドポイントを管理する」をご参照ください。
エンドポイントが切り替えられても、ポートは切り替えられません。ソースクラスタのポートがターゲットクラスタのポートと同じであることを確認してください。デフォルトでは、PolarDB クラスタにはポート 3306 が使用されます。ポートの変更方法の詳細については、「エンドポイントとポート番号を変更する」をご参照ください。
エンドポイントが切り替えられた後、DNS キャッシュデータの有効期限が切れているために問題が発生する可能性があります。PolarDB クラスタ内のデータベースに接続できないか、読み取り操作のみがサポートされる可能性があります。この問題を解決するには、DNS キャッシュをリフレッシュすることをお勧めします。
アップグレード評価
アップグレード評価機能は、PolarDB によって提供され、アップグレードタスクの正常な実行と高いアップグレード効率を保証します。この機能を使用すると、PolarDB for MySQL クラスタをアップグレードする前に、クラスタステータス、アップグレードタスクの依存関係、ソースクラスタの属性などの前提条件を事前にチェックできます。これにより、アップグレードの進行に影響を与える可能性のある要因を特定し、事前に問題を解決して、アップグレード中の処理とリソースコストを削減できます。
詳細については、「アップグレード評価」をご参照ください。
エキスパートサービス
メジャーバージョンアップグレードについてご質問がある場合は、DingTalk グループ (ID: 43055001012) に参加してください。グループ番号に参加するには、次の QR コードをスキャンするか、グループ ID を検索します。