MySQL 5.7

最終更新:

当サイトはアフィリエイト広告を利用しています。

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 モード・非推奨関数・スキーマ不整合などの問題を事前に検出できます。特に ZEROFILLFLOAT(M,D)DOUBLE(M,D) 等の非推奨型は 8.4 以降で削除されているため要注意です。

クラウドマネージドサービス利用時の注意
AWS RDS・Google Cloud SQL・Azure Database for MySQL を利用している場合、各プラットフォームの強制アップグレードスケジュールを確認してください。サービス側がアップグレードを実施する前に自主的に移行することで、予期せぬダウンタイムを回避できます。

サーバーのリフレッシュか、マネージドDBへの移行か

MySQL 5.7 を稼働させているサーバーは8年以上経過しているケースが多く、ハードウェア・OS の更新タイミングとしても適切です。DB のアップグレードと合わせてマネージドデータベースサービスやクラウド VPS への移行を検討することで、運用負荷の軽減とインフラ全体の近代化を同時に実現できます。

広告

公式情報