

# Aurora MySQL バージョン 8.4 へのアップグレード
<a name="AuroraMySQL.mysql84-upgrade-procedure"></a>

インプレースメジャーバージョンアップグレードを使用して、Aurora MySQL バージョン 3 からバージョン 8.4 にアップグレードできます。Aurora MySQL バージョン 2 からバージョン 8.4 への直接アップグレードはサポートされていません。バージョン 2 を実行している場合は、まずバージョン 3 にアップグレードする必要があります。

メジャーバージョンアップグレードプロセスの詳細については、「[Amazon Aurora MySQL DB クラスターのメジャーバージョンのアップグレード](AuroraMySQL.Updates.MajorVersionUpgrade.md)」を参照してください。

## バージョン 8.4 にアップグレードする前に
<a name="AuroraMySQL.mysql84-upgrade-before"></a>

アップグレードする前に、以下の準備ステップを完了してください。

Aurora は、アップグレードを開始する前にアップグレードの事前チェックを自動的に実行します。これらの事前チェックにより、アップグレードを妨げる可能性のある互換性の問題を特定します。各事前チェックの詳細については、「[Aurora MySQL バージョン 3 からバージョン 8.4 へのアップグレードに関する事前チェックの説明](AuroraMySQL.upgrade-prechecks-v3-to-v84.descriptions.md)」を参照してください。

1. **認証プラグインを移行します。**すべてのデータベースユーザーを確認し、`mysql_native_password` を使用するユーザーを `caching_sha2_password` に移行します。Aurora MySQL バージョン 8.4 では、`mysql_native_password` プラグインは引き続きサポートされていますが、廃止となっています。デフォルトの `authentication_policy` は `*:caching_sha2_password` であるため、新しいユーザーはデフォルトで `caching_sha2_password` を使用して作成されます。

   ```
   -- Find users using mysql_native_password
   SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password';
   
   -- Migrate a user to caching_sha2_password
   ALTER USER '{{username}}'@'{{host}}' IDENTIFIED WITH caching_sha2_password BY '{{new_password}}';
   ```

1. **レプリケーション SQL ステートメントを更新します。**アプリケーションまたはスクリプトで廃止されたレプリケーションステートメント (`SHOW SLAVE STATUS` や `CHANGE MASTER TO` など) を使用している場合は、置換ステートメントを使用するように更新します。これらの古いステートメントは、バージョン 8.4 では構文エラーを返します。利用できるタイムゾーンの一覧については、「[Aurora MySQL バージョン 3 と Aurora MySQL バージョン 8.4 の比較](AuroraMySQL.Compare-v3-v84.md)」を参照してください。

1. **削除されたパラメータを確認します。**カスタムパラメータグループでバージョン 8.4 で削除されたパラメータ (`expire_logs_days` や `default_authentication_plugin` など) を使用している場合は、置換パラメータを使用して MySQL 8.4 互換の新しいパラメータグループを作成します。必要なカスタムパラメータ値を新しいパラメータグループに適用します。詳細については、「[Aurora MySQL バージョン 3 と Aurora MySQL バージョン 8.4 の比較](AuroraMySQL.Compare-v3-v84.md)」を参照してください。

1. **互換性のない SQL 構文を確認します。**アプリケーションコードで、`LOCK TABLES ... WRITE` での `LOW_PRIORITY` や、`FLOAT` または `DOUBLE` 列での `AUTO_INCREMENT` などの削除された構文がないかを確認します。

1. **外部キーの制約を確認します。**スキーマで一意でないキーを参照する外部キーを使用している場合、バージョン 8.4 では、そのような新しい外部キーの作成はデフォルトでブロックされることに注意してください。既存の外部キーは引き続き機能しますが、新しい外部キーでは `restrict_fk_on_non_standard_key=OFF` を設定する必要があります。

1. **新しい予約キーワードを確認します。**データベースオブジェクトがMySQL 8.4 で追加された新しい予約キーワードを引用符で囲まれていない識別子として使用していないことを確認します。

1. **アップグレードをテストします。**本番クラスター自体をアップグレードする前に、本番クラスターのクローンでアップグレードをテストすることをお勧めします。

1. **セキュリティに関する考慮事項を確認します。**認証プラグインの変更、TLS と暗号の変更、パスワードポリシーと `validate_password` コンポーネント、新しい動的権限、`deprecatedDefaultAuth` や `auroraValidatePasswordPluginCheck` などのアップグレードの事前チェックの詳細については、「[Aurora MySQL バージョン 3 からバージョン 8.4 にアップグレードする際のセキュリティ上の考慮事項](AuroraMySQL.Upgrade-v3-v84-security.md)」を参照してください。

## バージョン 8.4 へのアップグレード方法
<a name="AuroraMySQL.mysql84-upgrade-how"></a>

アップグレードを実行するには、「[Amazon Aurora MySQL DB クラスターのメジャーバージョンのアップグレード](AuroraMySQL.Updates.MajorVersionUpgrade.md)」で説明されているインプレースメジャーバージョンアップグレード手順に従ってください。DB クラスターを変更するときに、ターゲットバージョン 8.4 エンジンバージョンを選択します。

または、[データベース更新のために Amazon Aurora ブルー/グリーンデプロイを使用する](blue-green-deployments.md) を使用して最小限のダウンタイムでアップグレードすることもできます。ブルー/グリーンデプロイでは、新しいバージョンを現在の本番環境と一緒に実行するステージング環境が作成され、切り替える前にテストと検証を行うことができます。

アップグレードが完了したら、「[Aurora MySQL バージョン 8.4 のアップグレード後のクリーンアップ](AuroraMySQL.mysql84-post-upgrade.md)」で説明されているアップグレード後のクリーンアップ手順を実行します。