MySQLの場合、バージョン番号はバージョン= X.Y.Zで構成されます。NHN Cloud RDS用語でX.Yはメジャーバージョンを、Zはマイナーバージョン番号を表します。
以下に記載されたバージョンを使用できます。
| バージョン | 備考 |
|---|---|
| 8.4 | |
| MySQL 8.4.5 | |
| 8.0 | |
| MySQL 8.0.43 | |
| MySQL 8.0.42 | |
| MySQL 8.0.41 | |
| MySQL 8.0.40 | |
| MySQL 8.0.36 | |
| MySQL 8.0.35 | |
| MySQL 8.0.34 | |
| MySQL 8.0.33 | |
| MySQL 8.0.32 | |
| MySQL 8.0.28 | |
| MySQL 8.0.23 | |
| MySQL 8.0.18 | |
| 5.7 | |
| MySQL 5.7.37 | |
| MySQL 5.7.33 | 外部のバックアップでDBインスタンスを復元できません。 |
| MySQL 5.7.26 | |
| MySQL 5.7.19 | |
| MySQL 5.7.15 | |
| 5.6 | |
| MySQL 5.6.33 | 新規DBインスタンスを作成できません。既存DBインスタンスのリードレプリカ作成、復元のみサポートします。 |
MySQLでバージョン番号はバージョン= X.Y.Zで構成されます。NHN CloudのRDS for MySQLでは、X.Yの場合はメジャーバージョンを、Zはマイナーバージョンを表します。
DBインスタンスの作成後、DBインスタンスの修正と一緒にDBエンジンのバージョンを変更できます。
[注意] DBバージョン変更しようとする場合、アップグレードのみサポートし、ダウングレードはサポートしません。
DBエンジンのバージョンアップグレードが行われる場合、メジャーバージョン番号のみ変更される場合はメジャーバージョンアップグレード、マイナーバージョン番号のみ変更される場合はマイナーバージョンアップグレードとみなします。 DBエンジンのメジャーバージョンのアップグレードを試みる場合は、次のメジャーバージョンのDBエンジンのバージョンに対してアップグレードが可能です。
MySQL 8.0とMySQL 5.7は相当数の非互換性要素が含まれています。したがって、5.7から8.0バージョンにメジャーバージョンDBエンジンのアップグレードを行う場合、問題が発生する可能性があります。このため、問題発生が予想される一部の項目に対する事前点検が必要です。以下は事前点検が必要な項目です。
mysqlcheckを通じてバージョンアップグレードの欠格事項がないこと。INFORMATION_SCHEMA.VIEWSで確認した時、カラム名が64文字を超える内容がないこと。DBバージョンアップグレードの事前点検については、次の方法で結果の確認が可能です。
- 5.7から8.0にアップグレードするためのチェックリストの詳細(https://static.toastoven.net/prod_rds/mysql/23.08.17/Check_5.7_to_8.0_ja.xlsx)を活用して直接確認
- コンソールでDBバージョンをアップグレードする場合は、DBエンジンアップグレード事前確認ボタンを利用して結果を確認
- DBバージョンアップグレードの試行による結果の確認
コンソールでDBエンジンアップグレード事前確認による結果および、DBバージョンアップグレードの試行による結果は、個別DBインスタンスのログタブに作成されたdb_version_upgrade_compatibility.logを通じて詳細を確認できます。詳細項目はそれぞれ次の意味を持ちます。
- CHECK_BY_MYSQL_CHECK: mysqlcheckを通じたバージョンアップグレードの欠格事項がないこと。
- COLUMN_LENGHT_LIMIT_CHECK: INFORMATION_SCHEMA.VIEWSで確認した時、カラム名が64文字を超える内容がないこと。
- DUPLICATE_NAME_WITH_DATA_DICT :データ辞書で使用されるテーブルと同じ名称のテーブルがないこと。
- ENUM_SET_SIZE_CHECK :長さが255文字または1020バイトを超える個々のENUM、SET列要素があるテーブル、保存プロシージャがないこと。
- FOREIGN_KEY_LENGTH_LIMIT_CHECK :外部キー制約条件名が64文字を超えるテーブルがないこと。
- LOWER_CASE_SCHEMAS_NAMES_CHECK: lower_case_table_names設定を1に変更する場合、スキーマ名が小文字であることを確認する。
- LOWER_CASE_TABLE_NAMES_CHECK: lower_case_table_names設定を1に変更する場合、テーブル名が小文字であることを確認する。
- PARTITION_TABLE_CHECK :特定のパーティションチェックで抽出されるパーティションテーブルがないこと。
- PROPERTY_LENGTH_LIMIT_CHECK: InnoDBシステムテーブルスペースと一般テーブルスペースを含む共有テーブルスペースに常駐するテーブルパーティションがないこと。
また、5.7では使用されたが、8.0では削除または変更された事項について確認が必要です。 - SQL変更項目ガイド - 8.0で削除された機能ガイド
MySQL 8.4にアップグレードするためには、MySQL 8.0へのアップグレードが完了している必要があります。8.0から8.4バージョンへのメジャーバージョンDBエンジンのアップグレードを行う場合、問題の発生が予想される一部の項目について、事前のチェックが必要です。
コンソールでDBエンジンアップグレードの事前確認を通じてアップグレードチェッカーで検出された項目を確認でき、エラーとして検出された項目は必ず対処する必要があります。詳細な説明はMySQLのWebサイトをご参照ください。
- アップグレードチェッカーガイド
また、8.4で削除または変更された事項について確認が必要です。 - 互換性のない変更項目ガイド - 8.4で削除された機能ガイド
DBインスタンスの修正ウィンドウでDBエンジンのバージョンを変更しようとする時、ダミーDBインスタンスの使用有無を選択してバージョンアップの過程で高可用性を得ることができます。ダミーDBインスタンスの使用を選択すると、DBバージョンアップグレードのための予備マスターが生成されます。
[注意] ダミーDBインスタンスの場合、アップグレード過程で一時的な予備マスターを生成するため、このオプションは高可用性構成でない場合にのみ使用できます。
DBインスタンスが高可用性で構成されている場合、予備マスターのエンジンバージョンを先にアップグレードした後、フェイルオーバーを使用して予備マスターをマスターに昇格させます。フェイルオーバーは、マスターのサービスを一時的に中断させるため、ユーザーが望むタイミングでフェイルオーバーを開始できます。 バージョンアップ時にフェイルオーバーの手動制御設定を使用すると、ユーザーがコンソールから直接フェイルオーバーを開始できます。
[注意] フェイルオーバー手動制御は、60時間以上トリガーされない場合、自動的にアップグレード作業がキャンセルされます。
2022年5月10日以前に作成されたDBインスタンスの場合、内部OSが老朽化してDBバージョンをアップグレードする場合、DBインスタンスが交換されます。交換過程でDBインスタンスの識別子及び内部IPアドレスが変更されます。通知グループの監視対象インスタンスおよびイベント購読のイベントソースは、変更された識別子に自動的に交換されます。単一DBインスタンスの場合、DBバージョン変更時に必ずダミーDBインスタンスを使用する必要があります。高可用性DBインスタンスの場合、DBインスタンスの交換過程でフェイルオーバーを利用してマスターと予備マスターの役割が変更されます。マスターの負荷が大きい場合、フェイルオーバーに失敗する可能性があるため、DBバージョンの変更は負荷が大きくない時間に行うことを推奨します。
[注意] IP ACLまたはセキュリティグループで既存DBインスタンスの内部IPを直接使用する場合、注意が必要です。
[注意] 一部のMySQLバージョンではサポートしない場合があり、サポートしないバージョンにバージョンアップする場合、該当プラグインを使用できません。
| MySQLバージョン | サーバー監査プラグインサポートの有無 |
|---|---|
| 8.4 | |
| MySQL 8.4.5 | O |
| 8.0 | |
| MySQL 8.0.43 | O |
| MySQL 8.0.42 | O |
| MySQL 8.0.41 | O |
| MySQL 8.0.40 | O |
| MySQL 8.0.36 | O |
| MySQL 8.0.35 | O |
| MySQL 8.0.34 | O |
| MySQL 8.0.33 | O |
| MySQL 8.0.32 | O |
| MySQL 8.0.28 | O |
| MySQL 8.0.23 | O |
| MySQL 8.0.18 | O |
| 5.7 | |
| MySQL 5.7.37 | X |
| MySQL 5.7.33 | O |
| MySQL 5.7.26 | O |
| MySQL 5.7.19 | O |
| MySQL 5.7.15 | X |
| MySQL 5.6 | |
| MySQL 5.6.33 | O |