主要バージョン・アップグレード
メジャー・バージョン・アップグレードを実行する前に、まず現在のバージョンと新しいバージョン間の変更を識別してから、これらの変更が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イノベーション 9.4.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にアップグレードする前に、影響を受けるアプリケーションを適宜更新する必要があります。