主要バージョン・アップグレード

メジャー・バージョン・アップグレードとは、次のいずれかのメジャー・バージョン・アップグレード・パスに従って、メジャー・バージョンから別のメジャー・バージョンへのアップグレードを指します。

  • 次のLTSシリーズの前に、LTSリリースからイノベーション・リリースにアップグレードします。
  • BugfixまたはLTSリリースから次のLTSシリーズにアップグレードします。
  • Innovationリリースから次のLTSシリーズにアップグレードします。

これらのパスには、メジャー・バージョン・アップグレードとみなされるInnovationリリースとLTSリリース間の遷移が含まれます。

同じメジャー・バージョン(9.5.xから9.6.xなど)内のイノベーション・リリース間のアップグレードはサポートされていますが、メジャー・バージョン・アップグレードとはみなされません。

ノート

アップグレードがこれらのパスのいずれかに従っていない場合は、失敗します。アップグレードが開始されたように見えても、最終的には失敗します。

異なるメジャー・バージョンのイノベーション・リリース間で直接アップグレードすることはできません(たとえば、8.3.0から9.0.0)。かわりに、最寄りのLTSリリースにアップグレードしてから、次のイノベーション・リリースにアップグレードする必要があります(たとえば、8.3.0から8.4.0にアップグレードしてから、9.0.0にアップグレードします)。

表5-9メジャー・バージョンのアップグレード・パス

現行バージョン アップグレードできるバージョン

8.0 バグ修正

8.4 LTS

8.4 LTS

9.5.xイノベーション

9.6.xイノベーション

9.7 LTS

9.xイノベーション 9.7 LTS

メジャー・バージョン・アップグレードを実行する前に、まず現在のバージョンと新しいバージョン間の変更を識別してから、これらの変更がMySQLデータベース・サーバーの使用方法に影響しないことを確認する必要があります。

DBシステムを下位のMySQLバージョン番号にダウングレードすることはできません。アップグレードの前にDBシステムのバックアップを実行することをお薦めします。手動バックアップの作成を参照してください。バックアップでは、アップグレード前にDBシステムを元のバージョン番号にリストアできます。

MySQLサーバーの各メジャーバージョンでは、いくつかの新機能が導入され、非推奨となった機能がいくつか削除される可能性があります。次の各項では、アップグレード前に考慮する必要がある主な変更点を示します。

MySQL 8.0バグ修正のMySQL 8.4 LTSへのアップグレード

MySQL 8.4 LTSでは、MySQL 8.0バグ修正と比較して、いくつかの新機能が導入され、非推奨となった機能の一部が削除されます。

DBシステムをMySQL 8.0からMySQL 8.4にアップグレードする前に、これらの変更に注意してください:
  • MySQL 8.4でdefault_authentication_plugin変数が削除されるため、DBシステムは構成のdefault_authentication_plugin変数を無視します。デフォルト値は常にcaching_sha2_passwordです。必要に応じて、CREATE USER文およびALTER USER文を使用して、ユーザー・アカウントのデフォルト認証方法をオーバーライドできます。
  • 非推奨のmysql_native_password認証プラグインは、デフォルトでは無効になっています。ユーザー・アカウントでは、mysql_native_password認証方式を使用できません。
    ノート

    下位互換性のために、既存のユーザーがmysql_native_password認証方法を使用する場合、アップグレードによって非推奨のmysql_native_password認証プラグインが有効になります。mysql_native_password認証プラグインは、MySQL 8.4の後に次のメジャー・バージョンで削除されるため、caching_sha2_password認証メソッドを使用するようにこれらのユーザー・アカウントの移行を開始する必要があります。
  • これらの新しい予約語は、MySQL 8.4 (MANUALPARALLELQUALIFYおよびTABLESAMPLE)に追加されます。引用符なしの識別子に予約語は使用できません。
  • AUTO_INCREMENTオプションは、FLOATおよびDOUBLEデータ型では使用できなくなりました。AUTO_INCREMENTを含むFLOAT列またはDOUBLE列を含む表がある場合、アップグレードは失敗します。
  • MySQL 8.2.0で導入されたSET_ANY_DEFINER権限は、MySQLバージョン8.2.0以上を実行しているすべてのDBシステムの管理者アカウントおよびadministratorロールに付与されます。
ノート

MySQL 8.0をMySQL 9.xに直接アップグレードすることはできません。まず、MySQL 8.0をMySQL 8.4にアップグレードしてから、MySQL 8.4をMySQL 9.xにアップグレードする必要があります。

MySQL 8.4 LTSから MySQL 9.x Innovationまたは9.7 LTSへのアップグレード

MySQL 9.x Innovationおよび9.7 LTSでは、MySQL 8.4 LTSと比較して、いくつかの新機能が導入され、非推奨となった機能が削除されています。

DBシステムをMySQL 8.4 LTSからMySQL 9.x Innovationまたは9.7 LTSにアップグレードする前に、次の変更に注意してください。
  • mysql_native_password認証プラグインは、MySQL 9.x Innovationおよび9.7 LTSで削除されます。ユーザー・アカウントは、mysql_native_password認証方式を使用できません。
    ノート

    アップグレードする前に、mysql_native_password認証方式を使用するすべてのユーザー・アカウントをcaching_sha2_password認証方式に移行する必要があります。
    ノート

    インバウンド・レプリケーションは、mysql_native_password認証方法で作成されたソース・サーバー上のレプリケーション・ユーザーにも接続できません。caching_sha2_password認証方式でレプリケーション・ユーザーを再作成する必要があります。また、ソース・サーバーでのmysql_native_password認証方法を含む操作では、レプリケーションが中断されます。たとえば、mysql_native_password認証方式を使用するユーザー・アカウントのパスワードを作成または変更します。
  • MySQL 9.2以降のバージョンでは、BINLOGキーワードは制限されており、MySQLストアドルーチンまたはストアドファンクションで引用符なしのラベルとして使用できなくなりました。MySQL 9.x Innovationまたは9.7 LTSにアップグレードする前に、影響を受けるアプリケーションを適切に更新してください。