MySQL 5.7 は 2015年10月9日にリリースされた Oracle Corporation 製のリレーショナルデータベースです。Extended Support(拡張サポート)は 2023年10月31日に終了しており、現在は新規セキュリティパッチが提供されていません。さらに注意が必要なのは、MySQL 5.7 からの代表的な移行先だった MySQL 8.0 も 2026年4月30日に EOL を迎えた点です。MySQL 8.4(LTS)または MySQL 9.7(LTS)への移行が急務です。本記事では MySQL 5.7 のサポート状況と移行手順を解説します。
MySQL 5.7 のサポート期限一覧
| バージョン | GA日 | Premier Support終了 | Extended Support終了 |
|---|---|---|---|
| MySQL 5.7(対象) | 2015-10-09 | 2020-10-31(終了済み) | 2023-10-31(終了済み) |
| MySQL 8.0 | 2018-04-08 | 2025-04-30(終了済み) | 2026-04-30(終了済み) |
| MySQL 8.4 LTS(推奨) | 2024-04-10 | 2029-04-30 | 2032-04-30 |
| MySQL 9.7 LTS(最長サポート) | 2026-04-21 | 2031-04-21 | 2034-04-21 |
MySQL のサポートポリシー
Oracle は MySQL に対して「Oracle Lifetime Support Policy」を適用しています。LTS(Long Term Support)リリースは GA から5年間の Premier Support と、その後3年間の Extended Support(合計8年)が提供されます。Innovation リリース(9.0〜9.3 など奇数・偶数の短期リリース)は次の Innovation または LTS リリースが出るまでの短期サポートのみです。
基本情報
- リリース日: 2015年10月9日
- 最終バージョン: 5.7.44(2023年10月25日リリース)
- Premier Support終了: 2020年10月31日(終了済み)
- Extended Support終了: 2023年10月31日(終了済み)
- 後継製品: MySQL 8.4 LTS(推奨)・MySQL 9.7 LTS(最長サポート)
- 主な特徴: JSON データ型・Generated Columns・マルチソースレプリケーション・InnoDB デフォルト化
- デフォルト認証: mysql_native_password(8.0以降は caching_sha2_password に変更)
サポート終了後のリスク
MySQL 5.7 はすでにセキュリティパッチの提供が停止しています。また MySQL 8.0 へ移行済みの環境も 2026年4月30日に EOL を迎えており、再移行が必要な状況です。
1. セキュリティパッチの停止
2023年10月31日以降に発見された CVE に対するパッチは提供されません。MySQL はインターネット公開サービスのバックエンドとして利用されることが多く、SQL インジェクション・権限昇格・リモートコード実行等の脆弱性が放置されるリスクがあります。PCI DSS 環境では即座に違反扱いとなります。
2. 認証方式・SQL 文法の非互換
MySQL 8.0 以降はデフォルト認証プラグインが mysql_native_password から caching_sha2_password に変更されています。古い MySQL クライアントライブラリや ORM(Laravel・Rails・Django 等)では接続できない場合があります。また GROUP BY の暗黙ソート廃止・予約語の追加など SQL 文法の非互換が存在し、アプリケーションの修正が必要になるケースがあります。
3. コンプライアンスおよびクラウドサービス対応リスク
AWS RDS・Google Cloud SQL・Azure Database for MySQL では MySQL 5.7 インスタンスの新規作成が制限されており、既存インスタンスも強制アップグレードのスケジュールが設定されています。PCI DSS・ISO 27001 等の審査では EOL データベースの継続利用は指摘対象です。SaaS・BtoB 事業者としてデータを扱う場合、顧客への説明責任も生じます。
推奨される移行先
MySQL 5.7 からは mysqldump または論理レプリケーション(binlog ベース)を使った移行が一般的です。MySQL 8.x へのインプレースアップグレードも可能ですが、事前に互換性チェックツール(MySQL Shell の util.checkForServerUpgrade())による検証を推奨します。
MySQL 8.4 LTS — 推奨(Extended Support 2032年まで)
- GA日: 2024年4月10日
- Extended Support終了: 2032年4月30日
- 最新バージョン: 8.4.9(2026年4月)
- 主な更新: GTID レプリケーション改善・InnoDB 最適化・caching_sha2_password デフォルト化・非推奨機能の削除
- メリット: 実績のある LTS リリース。Extended Support まで6年以上の余裕があり、安定した運用計画が立てられる
- 移行方法: 5.7 → 8.0 → 8.4 の順でアップグレード(5.7 から 8.4 への直接アップグレードは非サポート)
MySQL 9.7 LTS — 最新・最長サポート(Extended Support 2034年まで)
- GA日: 2026年4月21日
- Extended Support終了: 2034年4月21日
- 最新バージョン: 9.7.0(2026年4月)
- メリット: 最も長いサポート期間。Innovation リリースで追加された新機能が取り込まれた最初の 9.x LTS
- 注意点: 2026年4月リリースで実績はまだ浅い。本番環境への適用はステージング環境での十分な検証後を推奨
- 移行方法: 5.7 → 8.0 → 8.4 → 9.7 の順でアップグレード(版をスキップした直接アップグレードは非サポート)
移行時の注意点
段階的アップグレードの必要性
MySQL はメジャーバージョンのスキップアップグレードをサポートしていません。MySQL 5.7 から 8.4 へ移行するには、5.7 → 8.0 → 8.4 の順で段階的に実施する必要があります。各段階で mysql_upgrade(8.0 まで)または自動アップグレード処理が実行されます。
認証プラグインの移行
MySQL 8.0 以降では caching_sha2_password がデフォルト認証プラグインです。移行後に既存アプリケーションが接続できない場合、ALTER USER ... IDENTIFIED WITH mysql_native_password で一時的に旧プラグインを使用するか、クライアントライブラリを新しい認証に対応したバージョンにアップグレードしてください。なお MySQL 8.4 では mysql_native_password プラグインはデフォルトで無効化されており、明示的な有効化設定が必要です。
MySQL Shell による事前チェック
アップグレード前に MySQL Shell の互換性チェックを実行することを強く推奨します。util.checkForServerUpgrade() を実行すると、廃止された SQL モード・非推奨関数・スキーマ不整合などの問題を事前に検出できます。特に ZEROFILL・FLOAT(M,D)・DOUBLE(M,D) 等の非推奨型は 8.4 以降で削除されているため要注意です。
クラウドマネージドサービス利用時の注意
AWS RDS・Google Cloud SQL・Azure Database for MySQL を利用している場合、各プラットフォームの強制アップグレードスケジュールを確認してください。サービス側がアップグレードを実施する前に自主的に移行することで、予期せぬダウンタイムを回避できます。
サーバーのリフレッシュか、マネージドDBへの移行か
MySQL 5.7 を稼働させているサーバーは8年以上経過しているケースが多く、ハードウェア・OS の更新タイミングとしても適切です。DB のアップグレードと合わせてマネージドデータベースサービスやクラウド VPS への移行を検討することで、運用負荷の軽減とインフラ全体の近代化を同時に実現できます。