こんばんは、小寺です。RDSのバージョンアップデート対応を最近多くやられた方もいますよね。
今日は RDS for MySQL を 5.7.44 から 8.0.36 にアップグレードしたときのエラー対応について、お伝えします!
カスタムパラメータグループなどデフォルト以外のパラメータグループを使っている際に、以下エラーが表示されました。
DB インスタンスがカスタム DB パラメータグループに関連付けられている場合は、新しいメジャーバージョンと互換性のある既存の設定で新しい DB パラメータグループを作成します。 その新しい DB パラメータグループをテストインスタンスのアップグレード時に指定することで、アップグレードのテストでインスタンスが正常に機能することを確認できます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.MySQL.html#USER_UpgradeDBInstance.MySQL.UpgradeTesting
新しいパラメーターグループを作っていてもエラーになっています・・・・。オプショングループも作成してみることにしました。
オプショングループを作成して、新しくMySQL8.0用のものを指定してアップグレードを適用します。
無事にアップグレードできました!
RDS側で互換性がある?ない?をどうやって判定しているのか?については、まずはパラメータグループを比較してみましょう。比較する方法については、 マネジメントコンソールからは[Parameter Groups] (パラメータグループ) を選んで、 [パラメータを比較] で比較を行うことができます。
CLIからは以下のようなコマンドで確認が可能です。
aws rds describe-db-parameters --db-parameter-group-name INSERT-YOUR-PG-NAME-HERE --region INSERT-REGION-HERE
もし、パラメータをデフォルト値に戻したくなったら?すべてをデフォルトにリセットするか、もしくは互換性のある値に戻すこともできます。