すべてのプロダクト
Search
ドキュメントセンター

PolarDB:メジャーバージョンアップグレード

最終更新日:Jun 04, 2025

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 分以内に復元できます。

制限事項

カテゴリ

説明

ソースデータベースの制限

  • ソースデータベースが属するサーバーには、十分な下り帯域幅が必要です。そうでない場合、アップグレード速度に影響します。

  • 移行するテーブルには、PRIMARY KEY または UNIQUE 制約があり、すべてのフィールドが一意である必要があります。そうでない場合、ターゲットデータベースに重複したデータレコードが含まれる可能性があります。

  • 増分移行を実行するには、バイナリロギング機能を有効にする必要があります。また、PolarDB コンソールで loose_polar_log_bin パラメーターを ON に設定する必要があります。そうでない場合、事前チェック中にエラーメッセージが返され、アップグレードタスクを開始できません。

    説明

    完全データ移行タスクと増分データ移行タスクの両方で、ソースデータベースのバイナリログは少なくとも 7 日間保存する必要があります。完全データ移行が完了したら、保存期間を 24 時間以上に設定できます。そうでない場合、Data Transmission Service (DTS) がバイナリログを取得できず、タスクが失敗する可能性があります。例外的な状況では、データの不整合または損失が発生する可能性があります。上記の要件に基づいてバイナリログの保存期間を指定してください。そうでない場合、DTS のサービスレベル契約 (SLA) に記載されているサービスの信頼性とパフォーマンスを達成できません。

  • ソースデータベースで実行する操作の制限:

    スキーマ移行と完全データ移行中は、データベースまたはテーブルのスキーマを変更する DDL 操作を実行しないでください。そうしないと、データ移行タスクが失敗します。

SQL 文の制限

説明

PolarDB for MySQL のキーワードは、MySQL のキーワードと 100% 互換性があります。

  • 以下の DML 操作がサポートされています。

    • INSERT

    • UPDATE

    • DELETE

  • 以下の DDL 操作がサポートされています。

    • ALTER TABLE and ALTER VIEW

    • CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, and CREATE VIEW

    • DROP INDEX and DROP TABLE

    • RENAME TABLE

    • TRUNCATE TABLE

その他の制限

  • 新しいデータベースを移行することはできません。新しいデータベースを移行するには、DTS コンソール に移動し、同期オブジェクトを変更して、新しいデータベースを転送同期タスクと逆同期タスクに追加します。

  • データを移行する前に、データ移行がソースデータベースとターゲットデータベースのパフォーマンスに与える影響を評価してください。オフピーク時にデータを移行することをお勧めします。完全データ移行中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。

  • 完全データ移行中、同時 INSERT 操作により、ターゲットデータベースのテーブルで断片化が発生します。完全データ移行が完了すると、ターゲットデータベースの使用済み表領域のサイズはソースデータベースのサイズよりも大きくなります。

  • FLOAT または DOUBLE データ型の列の精度設定がビジネス要件を満たしていることを確認してください。DTS は、ROUND(COLUMN,PRECISION) 関数を使用して、FLOAT または DOUBLE データ型の列から値を取得します。精度値を指定しない場合、DTS は FLOAT データ型の精度を 38 桁に設定し、DOUBLE データ型の精度を 308 桁に設定します。

  • DTS は、過去 7 日以内に失敗したデータ移行タスクの再開を試みます。ワークロードをターゲットクラスタに切り替える前に、データ移行タスクを停止または解放してください。また、revoke コマンドを実行して、DTS がターゲットクラスタにアクセスするために使用するアカウントから書き込み権限を取り消すこともできます。そうしないと、タスクが再開された後、ソースデータベースのデータがターゲットクラスタのデータを上書きします。

その他の問題

DTS は、バイナリログファイルの位置を進めるために、ソースデータベースで CREATE DATABASE IF NOT EXISTS 'test' 文を定期的に実行します。

使用上の注意

  • ソースクラスタのエンドポイントで 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 クラスタをアップグレードする場合、エンドポイントで切り替え機能がサポートされています。システムは、ソースクラスタとターゲットクラスタのエンドポイントを自動的に切り替えます。次の図は、エンドポイントのマッピングを示しています。

  • バージョンアップグレードのエンドポイントマッピング

    从PolarDB升级

  • クラスタ版からマルチマスタークラスタ (データベース/テーブル) 版へのエディションアップグレードのエンドポイントマッピング

    image

    エディションのアップグレードでは、切り替えるソースクラスタとターゲットクラスタのエンドポイントを指定できます。たとえば、ソースクラスタのプライマリエンドポイントとターゲットクラスタのクラスターエンドポイント間、ソースクラスタのプライマリエンドポイントとターゲットクラスタのカスタムエンドポイント間、およびソースクラスタのクラスターエンドポイントとターゲットクラスタのカスタムエンドポイント間で切り替えることができます。次の図は、エンドポイントの内部マッピングを示しています。image

エンドポイントで切り替え機能を使用する場合は、次の点に注意してください。

  • ソースクラスタとターゲットクラスタのエンドポイントのみが切り替えられます。vSwitch や仮想 IP アドレスなどの他の構成は変更されません。

  • エンドポイントは、ソースクラスタとターゲットクラスタの両方にエンドポイントがある場合にのみ切り替えることができます。デフォルトでは、非公開エンドポイントのみを切り替えることができます。

    説明

    ソースクラスタのエンドポイントにパブリックエンドポイントがある場合は、ターゲットクラスタの対応するエンドポイントにパブリックエンドポイントを申請する必要があります。これにより、エンドポイントのスイッチオーバープロセス中にパブリックエンドポイントが正常に切り替えられます。

  • バージョンアップグレードでエンドポイントで切り替えを選択した場合、ソースクラスタとターゲットクラスタのプライマリエンドポイントが切り替えられます。複数のエンドポイントグループを切り替えるかどうかを選択できます。

  • エディションアップグレードでエンドポイントで切り替えを選択した場合、切り替えるソースクラスタとターゲットクラスタのエンドポイントを指定できます。複数のエンドポイントグループを切り替えるかどうかを選択できます。

  • 別のエンドポイントに切り替える場合は、スイッチオーバーの前にエンドポイントを作成する必要があります。PolarDB クラスタのエンドポイントの作成方法の詳細については、「クラスタのエンドポイントを管理する」をご参照ください。

  • エンドポイントが切り替えられても、ポートは切り替えられません。ソースクラスタのポートがターゲットクラスタのポートと同じであることを確認してください。デフォルトでは、PolarDB クラスタにはポート 3306 が使用されます。ポートの変更方法の詳細については、「エンドポイントとポート番号を変更する」をご参照ください。

  • エンドポイントが切り替えられた後、DNS キャッシュデータの有効期限が切れているために問題が発生する可能性があります。PolarDB クラスタ内のデータベースに接続できないか、読み取り操作のみがサポートされる可能性があります。この問題を解決するには、DNS キャッシュをリフレッシュすることをお勧めします。

アップグレード評価

アップグレード評価機能は、PolarDB によって提供され、アップグレードタスクの正常な実行と高いアップグレード効率を保証します。この機能を使用すると、PolarDB for MySQL クラスタをアップグレードする前に、クラスタステータス、アップグレードタスクの依存関係、ソースクラスタの属性などの前提条件を事前にチェックできます。これにより、アップグレードの進行に影響を与える可能性のある要因を特定し、事前に問題を解決して、アップグレード中の処理とリソースコストを削減できます。

詳細については、「アップグレード評価」をご参照ください。

エキスパートサービス

メジャーバージョンアップグレードについてご質問がある場合は、DingTalk グループ (ID: 43055001012) に参加してください。グループ番号に参加するには、次の QR コードをスキャンするか、グループ ID を検索します。

image