RDS メジャーバージョンアップグレード MySQL 5.7 to 8.0

Amazon RDS for MySQL5.7の延長サポートを使用すると、オラクル社のサポート終了後もMySQLメジャー バージョンを引き続き使用できます。この間、AWSはパッチリリースを通じて重大なセキュリティ問題とバグの修正を最大3年間提供します。また、延長サポート費用は、インスタンスタイプ単位ではなく、リージョン単位で料金が設定されています。
【EOL間近】Amazon RDS for MySQL 5.7の標準サポート終了とバージョンアップ前の影響確認について - ForgeVision Engineer Blog 2023-09

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.MySQL.html

RDS インスタンスのメジャーバージョンのアップグレード #AWS - Qiita 2023

文字コード

RDS MySQL 8.0

mysql> show variables like '%char%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8mb3                                   |
| character_set_connection | utf8mb3                                   |
| character_set_database   | latin1                                    |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8mb3                                   |
| character_set_server     | utf8mb4                                   |
| character_set_system     | utf8mb3                                   |
| character_sets_dir       | /rdsdbbin/mysql-8.0.34.R2/share/charsets/ |
+--------------------------+-------------------------------------------+
8 rows in set (0.01 sec)

mysql> show variables like 'coll%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb3_general_ci |
| collation_database   | latin1_swedish_ci  |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
3 rows in set (0.00 sec)

utf8 は現在 utf8mb3 のエイリアス

カスタムDBパラメータグループ

カスタムDBパラメータグループを利用している場合は、新しいバージョンのカスタムDBパラメータグループを作成しておく。

Current Parameter Group (カスタムパラメータグループ名) is non-default. You need to explicitly specify a new Parameter Group in this case (default or custom)

上記AWSドキュメントにあります様に、新しい DB エンジンバージョンのデフォルトのパラメータグループを指定するか、 新しい DB エンジンバージョンの独自のカスタムパラメータグループを作成する必要があります。

MariaDB メジャーバージョンアップグレードの際に「Current Parameter Group (カスタムパラメータグループ名) is non-default. You need to explicitly specify a new Parameter Group in this case (default or custom)」エラーが発生した場合の対処方法 | DevelopersIO

2.カスタムDBパラメータグループを利用している場合、新しいメジャーバージョンと互換性のある既存の設定で新しいDBパラメータグループを作成し、手順5でテストインスタンスをアップグレードするときに新しいDBパラメータグループを指定する。
RDS インスタンスのメジャーバージョンのアップグレード #AWS - Qiita 2023

レプリカ

リードレプリカがすでにある場合もレプリカ → プライマリの順番で更新する。
論理レプリケーションなのでメジャーバージョン違いでも問題ない。

Amazon Aurora MySQL 3 (MySQL 8.0 互換)

db.t3.medium Aurora MySQL 1.14.4 以降、3.01.0 以降
db.t3.small Aurora MySQL 1.14.4 以降。3.01.0 以降ではサポートされていません

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html

db.t3.small で更新しようとすると以下エラー

RDS does not support creating a DB instance with the following combination: DBInstanceClass=db.t3.small, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.1, LicenseModel=general-public-license. For supported combinations of instance class and database engine version, see the documentation.

バージョンダウン

アップグレード時に作成されるスナップショットから復元する