MySQL 8.4 は 8.0 系からの延長線上にありますが、
- 認証方式の変更
- InnoDB のデフォルト値変更
- 各種オプション/ツールの削除
- レプリケーション関連の整理
など、アップグレード時に注意すべき変更がいくつもあります。
現在は RDS for MySQL 8.0 で運用していますが、AWS のサポート期限が 2026/7/31 なので、そろそろ本格的にアップグレードの準備を始める必要があります。
まずは、実運用目線で、影響が出やすいポイントを整理しておきたいと思います。
主な変更・追加(8.0 → 8.4)
認証関連
mysql_native_password がデフォルトで無効化
mysql_native_passwordプラグインは デフォルトで無効- 古いクライアントが接続できない可能性あり
- 必要な場合は明示的に有効化が必要
古い JDBC ドライバやレガシーアプリは要確認。
InnoDB デフォルト値の変更
多くの InnoDB 変数のデフォルト値が変更されています。 これは 性能や I/O 挙動に直接影響します。
主な変更例
innodb_adaptive_hash_index = OFF(以前は ON)
- OLTP ワークロードでは影響の可能性あり
- 高並列環境ではむしろ安定するケースも
innodb_io_capacity 系が大幅増加
- フラッシュ挙動が変わる可能性
- I/O 負荷が増える可能性
クラウド(特に RDS / Aurora)では IOPS 消費の変化に注意。
innodb_log_buffer_size
- 16 MiB → 64 MiB に増加
大規模トランザクションの挙動が変わる可能性あり。
NUMA 関連
innodb_numa_interleave = ON
NUMA 環境では性能変化の可能性あり。 オンプレや大型インスタンスでは確認推奨。
プラグイン/機能追加
Clone Plugin の制約緩和
- 異なるポイントリリース間でもコピー可能に
バックアップやノード追加が柔軟に。
レプリケーション関連
GTID 拡張
AUTOMATIC:TAGによりグループにタグ付け可能
レプリケーション設計に影響するため、 構成を見直す場合あり。
非推奨・削除された機能(重要)
ここがアップグレード時の最大注意ポイントです。
認証/設定の削除
default_authentication_plugin 変数削除
- 設定やスクリプトで使っている場合は修正必須
SSL 関連オプション削除
例:
--sslhave_ssl
TLS 設定を見直す必要があります。
起動オプション・ツール削除
–no-dd-upgrade 削除
- 代替 →
--upgrade=NONE
mysql_upgrade 削除
- 自動化に統合
- 旧運用手順は見直し必要
mysqlpump 削除
- バックアップ戦略の見直しが必要
dump 系運用をしている場合は要確認。
レプリケーション関連設定の削除
多数の古いオプション/変数が削除。
例:
--slave-rows-search-algorithms- relay/master info 系変数
レプリケーション構成を 必ず事前確認すること。
SQL 構文の削除
一部の古い非推奨構文は
→ 文法エラーになります
アプリケーションの SQL を事前チェック推奨。
AUTO_INCREMENT と FLOAT/DOUBLE
- FLOAT / DOUBLE に AUTO_INCREMENT 指定 → 完全削除(エラー)
テーブル定義修正が必須。
これは意外と引っかかる可能性あり。
まとめ:アップグレード時の要注意ポイント
1. 認証方式の変更
古いログイン方式が無効になる可能性。 クライアント側対応が必要。
2. InnoDB デフォルト値変更
パフォーマンスが変わる可能性あり。
→ ベンチマーク再取得推奨。
3. 削除された機能・ツール
- レプリケーション設定
- バックアップツール
- 起動オプション
スクリプトや構成管理を必ず確認。
4. SQL 互換性
非推奨構文がエラーに。
→ 事前にアプリケーション SQL を検証。
参考サイト
MySQL :: MySQL 8.4 Reference Manual :: 1.4 What Is New in MySQL 8.4 since MySQL 8.0
https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html