主要バージョン・アップグレード
メジャー・バージョン・アップグレードを実行する前に、まず現在のバージョンと新しいバージョン間の変更を識別してから、これらの変更がMySQLデータベース・サーバーの使用方法に影響しないことを確認する必要があります。
DBシステムを下位のMySQLバージョン番号にダウングレードできないため、アップグレードする前にDBシステムのバックアップを実行する必要があります。手動バックアップの作成を参照してください。バックアップを使用すると、アップグレード前にDBシステムを元のバージョン番号にリストアできます。
メジャー・バージョンから別のメジャー・バージョンにアップグレードする場合は、アップグレード・パス・ルールに従う必要があります。次の操作を実行できます:
- 次のLTSシリーズの前に、BugfixまたはLTSリリースからInnovationリリースにアップグレードします。
- BugfixまたはLTSリリースから次のLTSシリーズにアップグレードします。
- Innovationリリースから次のLTSシリーズにアップグレードします。
ノート
アップグレードがこれらのルールのいずれかを満たさない場合、失敗します。アップグレードが開始されたように見えても、最終的には失敗します。
アップグレードがこれらのルールのいずれかを満たさない場合、失敗します。アップグレードが開始されたように見えても、最終的には失敗します。
表5-9メジャー・バージョンのアップグレード・パス
現行バージョン | アップグレードできるバージョン |
---|---|
8.0 バグ修正 |
8.1 イノベーション 8.2 イノベーション 8.3 イノベーション |
8.0 バグ修正 |
8.4 LTS |
8.1 イノベーション 8.2 イノベーション 8.3 イノベーション |
8.4 LTS |
8.4 LTS |
9.0.xイノベーション 9.1.xイノベーション 9.2.xイノベーション 9.3.xイノベーション |
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 (
MANUAL
、PARALLEL
、QUALIFY
および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.0をMySQL 9.xに直接アップグレードすることはできません。まず、MySQL 8.0をMySQL 8.4にアップグレードしてから、MySQL 8.4をMySQL 9.xにアップグレードする必要があります。
関連トピック
MySQL 8.4 LTSからMySQL 9.x Innovationへのアップグレード
MySQL 9.x Innovationでは、いくつかの新機能が導入され、MySQL 8.4 LTSと比較して一部の非推奨の機能が削除されます。
DBシステムをMySQL 8.4 LTSからMySQL 9.x Innovationにアップグレードする前に、これらの変更に注意してください。
mysql_native_password
認証プラグインは、MySQL 9.0で削除されます。ユーザー・アカウントでは、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.2にアップグレードする前に、影響を受けるアプリケーションを適宜更新する必要があります。