MySQL 8.0 アップグレード調査
前提・背景
MySQL 5.7のサポートが終了(2023年10月21日)のため、MySQL 8.0へアップグレードを検討する。
バージョン変更による変更点確認
- キーワードーと予約語の変更
- 予約語をSQL文やカラム名に使用できなくなる
- GROUP BY暗黙/明示的なソート順変化
- ソート順を指定しないとき、GROUP BYカラムによる暗黙の昇順がなくなる
- 変数、関数の削除と追加
- クエリの中で使える変数や関数にも変更あり
- クエリーキャッシュ廃止
- デフォルトの認証プラグインが変更
- 新しい認証プラグインをサポートしているかどうかを確認
- デフォルトの文字セット
utf8mb4
に変更- 現状の文字セットは
utf8
だが、非推奨になった。
- 現状の文字セットは
- その他非推奨
- 列タイプ「FLOAT」および「DOUBLE」の「AUTO_INCREMENT」のサポートは非推奨
- 「ZEROFILL」属性は数値データでは非推奨
- SQL モード「PIPES AS CONCAT」が有効でない限り、「||」の使用は非推奨
- 「JSON_MERGE」は非推奨
- 「SELECT」の最後での INTO 句の使用は非推奨
- 「FLUSH HOSTS」機能は廃止
参考
GitHub、1200台以上のMySQL 5.7を8.0へアップグレード サービス無停止のまま成功させる
第76回 MySQL 8.0へのアップグレード | gihyo.jp
MySQL: MySQL5.7→8.0へアップグレード方法 – よしまさのブログ
Amazon Aurora MySQL v1(5.6 互換)→ v3(8.0 互換)移行を計画する(1)はじめに
MySQLのバージョンごとの違いについて調査した – Qiita
Aurora MySQL バージョン 3 へのアップグレード – Amazon Aurora
Aurora MySQL バージョン 2 と Aurora MySQL バージョン 3 の比較 – Amazon Aurora
Aurora v2 に Upgrade Checker Utility を実行してみた – mita2 database life
Aurora1からAurora3へアップグレードするときのアプリケーション対応の注意点について – booklista tech blog
Aurora MySQL バージョン 3 は MYSQL 8.0 との互換性があります。 – Amazon Aurora
Amazon Aurora MySQL 5.6を頑張らずに8.0へメジャーアップグレードしてみた | DevelopersIO