- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。taneCREATIVEの「ちほうタイガー」です。
この記事は2024年8月20日に本記事を執筆しています。
最近、WordPressを使用されている企業のWeb担当者の方より、MySQLのバージョンアップについてご質問をいただくことが増えてきました。
しかしながら、MySQLのバージョンやサポート期限についてまとまっているWebサイトが少ない印象です。
そこで、今回は、企業のWeb担当者である皆様に向けて、MySQLのバージョン情報とサポート期限についてまとめてみたいと思います。
MySQLはオラクル社がサポートをしているオープンソースのリレーショナルデータベース管理システム(RDBMS)です。
MySQLは、データをテーブル(行と列で構成される表)に整理して格納し、データについて更にテーブルを複数関連付けることで、単純なものから複雑なものまで対応できるデータベースで、標準問い合わせ言語として SQL(Structured Query Language、構造化照会言語) を用いたアクセスを行うことで、各種データを効率的に管理することができるリレーショナルデータベース管理システムです。
オープンソースとはいえ、Oracle社が運営していることによる信頼性から、WordPressをはじめとするCMS(コンテンツ・マネジメント・システム)がデータベースとして採用しており、Webサイト制作・保守管理の現場では、非常に有名なデータベース管理システムです。
この記事では最新のMySQLのバージョン情報やオラクル社が提供するサポート体制とサポート期限などをご確認頂けます。
少しでも皆様のお役に立てる記事にできればと思います。どうぞよろしくお願い致します。
MySQLには、無料版である「MySQL Community Edition」と有料版である「MySQL Standard Edition」「MySQL Enterprise Edition」「MySQL Cluster Carrier Grade Edition(以下「MySQL Cluster CGE」と呼びます)」 という 製品グループ(以下「MySQL有料版」と呼びます)があります。
Web制作の現場で使用されているものの多くは無料版である「MySQL Community Edition」の製品であるケースが多いため、MySQL=無料のオープンソースデータベースソフトウェアという認識でいる方も多いのですが、実際には、MySQL Community Editionに含まれる製品の利用は、無償ではあるものの、不具合発生時の公式サポートなどがなく、また商用利用も可能ですが規約での制限があります。
当社ではWebサイトであったとしても大規模なもの、公のものでは、高性能なセキュリティ機能、各種管理ツール、公式のテクニカルサポートがある有償版をお勧めしております。
MySQL | 無料ライセンス | MySQL Community Edition |
有料ライセンス | MySQL Standard Edition MySQL Enterprise Edition MySQL Cluster Carrier Grade Edition |
上記でMySQLとして説明をしてきた製品は、実はMySQL Databaseのことを指しています。
WordPressをはじめとするMySQLを採用しているCMSのデータベースに関する標準設定ではシングルサーバーの環境で運用されることが一般的であることから、Web制作・保守管理の現場では、MySQL=MySQL Databaseの意味で使用されていたりします。
一方で、MySQL Clusterは、データの高可用性とスケーラビリティを実現するための分散型のデータベースシステムです。
MySQL Clusterは、複数のノード(サーバー)で構成され、データベースの高可用性とパフォーマンスを向上させるために設計されています。
MySQLの解説を書いていて、混乱しやすいなと思うのは、ここでのMySQL Clusterには無料版のMySQL Community Editionに含まれているMySQL NDB Clusterと有料版のMySQL Cluster CGEの2種類があることです
Web制作の現場で、MySQL Clusterを採用することは稀ですが、無いとも言い切れないのが面倒なところです。
非常に大規模場なWebサイトや、アクセス数が膨大なWebサイトでは、大量のデータベースクエリを処理する必要があるため、MySQL Clusterを採用しているケースがあるためです。
とはいえ、基本的にはMySQL Databaseを利用されているケースがほとんどだと思いますので、本記事で「MySQL」と記載している場合、特別な記載がない限りMySQL Databaseを指しているものとします。
MySQL Community Edition | MySQL Database | シングルサーバーの環境で運用 ※本記事で取り扱うMySQL |
MySQL NDB Cluster | 複数サーバーで構成 ※MySQL Cluster CGEとは別製品 |
2023年7月、MySQL公式よりMySQL Databaseのリリースに関する重要な方針変更がありました。
バージョン8.1のリリース以降、安定したサポートを目指すLTS(Long-Term Support、長期サポート)版と、新機能を積極的に導入するイノベーション版の二本立てとなっています。
とはいえ、図のように統一したバージョン管理がされていますので複雑に考える必要はありません。
バージョン8.1、8.2、8.3、9.0がイノベーション版、バージョン8.4がLTS版となります。
Webサイト制作・保守の現場では、ほぼ安定しているLTS版をご利用になられていると思いますので、本記事では「MySQL」とのみ記載している場合、特別な記載がない限りMySQL Database のLTS版を指しているものとします。
MySQL Database | LTS版 | 安定したサポートを目指す長期サポートバージョン ※本記事で取り扱うMySQL |
イノベーション版 | 新機能を積極的に導入するバージョン |
MySQLの最新バージョンは8.4です。
2024年8月現在、MySQLの公式がセキュリティサポートをしているバージョンは、8.0, 8.4の2系統のみです。
MySQLのバージョンが5.7以下の場合には、緊急レベルの脆弱性が存在する可能性があります。
MySQLのバージョン8.0は2025年4月30日に無償のセキュリティサポートが終了します。
MySQL有料版である「MySQL Standard Edition」「MySQL Enterprise Edition」の一製品である、MySQL Databaseについては、オラクル社の「Lifetime Support Policy」が適用され、次の上記の3段階の公式サポートを受けることができます。
① プレミアサポート
MySQLの標準的なサポートフェーズです。
各バージョンのGA(安定版)リリース日から5年間サポートが続きます。
セキュリティパッチ、バグの修正、パフォーマンスの向上や新機能の追加などを含むアップデートが随時提供されます。
Webサイト制作・保守管理の場合には、5年以内にリニューアルをするケースがほとんどですので、プレミアサポートでも十分なサポートを受けることができます。
② 延長サポート
5年間のプレミアサポート終了後にさらに3年間の延長サポートが受けられます。
ただし、セキュリティパッチと重要なバグの修正は提供されますが、新機能の追加などは制限されています。
延長サポートは購入が必要で、標準の公式サポートには含まれていません。
すなわち、ユーザー側で延長サポートかEOL(End Of Life、製本のライフサイクル終了)を選ぶことができます。
③ サステイニングサポート
延長サポート終了後に移行するフェーズです。
新しいアップデートや修正は含まれておらず、セキュリティパッチも提供されません。
このサポートは無期限で、ソフトを使用することはできますが、セキュリティやパフォーマンスのアップデートが保証されていません。
サポートとは記載されていますが、事実上のEOL(End Of Life、製本のライフサイクル終了)となります。
「MySQL Standard Edition」「MySQL Enterprise Edition」の一製品である、MySQL Database のリリース日とサポート期限について下記にまとめてみました。
MySQL8.4はまだしばらく問題なさそうですが、MySQL8.0については、プレミアサポート終了日が近づいていますので対応策の検討が必要かと思います。
MySQLのバージョン | GA(安定版)リリース日 | プレミアサポート終了日 | 延長サポート終了日 |
8.4 | 2024年4月10日 | 2029年4月30日 | 2032年4月30日 |
8.0 | 2018年4月8日 | 2025年4月30日 | 2026年4月30日 |
5.7 | 2015年10月9日 | 2020年10月31日 | 2023年10月31日 |
5.6 | 2013年2月1日 | 2018年2月28日 | 2021年2月28日 |
5.5 | 2010年12月3日 | 2015年12月31日 | 2018年12月31日 |
5.1 | 2008年12月 | 2013年12月 | 適応外 |
5.0 | 2005年10月 | 2011年12月 | 適応外 |
※グレーのバージョンは公式のセキュリティサポートが終了しています。
一方で、無償のオープンソース版である MySQL Community Editionの一製品であるMySQL Databaseについては、オラクル社の「Lifetime Support Policy」が適用されないことに注意が必要です。
Community Editionという名前のとおり、オラクル社の体系化されたサポート対象製品ではなく、主にコミュニティによってサポートが提供されています。
とはいえ、現在のところ、オラクル社はMySQL Community Editionの製品についても、バグフィックス、セキュリティパッチ、新機能などのアップデートとサポートを提供していることから、事実上はMySQL有料版に準じたサポートがなされていますが、これらはあくまでも有料版のような「Lifetime Support Policy」による正式な保証や長期的なコミットメントの対象ではありません。
オラクル社には、このサポートを有料版と同期限、同条件で提供する義務はないことに注意が必要です。
MySQLのプレミアムサポート終了への対応策としては、概ね次の4パターンが考えられます。
MySQL有料版を契約されている場合、延長サポートを追加で購入することで、3年間の追加サポートを受けることが可能です。
この方法が一番簡単な対応方法となりますが、コストがかかる上に3年後には待ったなしでサポートが終了するという問題もあります。
ご契約いただいているベンダーさんに費用についてお問い合わせいただき、ご検討ください。
Web制作会社である当社に、データベースソフトウェアを変更したいというご相談をいいただくと、まず最初に思い浮かぶ候補がMariaDBです。
Web制作に関する技術選択でLAMPと言われる王道の組み合わせがありますが、このうち「L」はLinux、「A」はApache、「P」はPHPであることに異論はありません。
しかしながら、「M」については、オラクル社のMySQLか、コミュニティで開発されたMariaDBのどちらかを指すという程、MariaDBも人気を有するRDBMSです。
しかしながら、MariaDBにも結局はサポート期間という問題があります。
MySQLのバージョンアップを実施するという方法が、最も一般的な対処方法になります。
しかしながら、データベースソフトウェアのバージョンアップ、特にメジャーバージョンアップの場合(例えば5.7から8.4へのバージョンアップ等)には、かなりの確率でアプリケーション側にエラーが発生します。
そのため、以下の手順で慎重にバージョンアップをする必要があります。
① 旧バージョンと新バージョンの変更点の事前把握
② 影響範囲の確定
③ ステージング環境ないしディべロップ環境でのバージョンアップ実施
④ ステージング環境ないしディべロップ環境でのエラーの発見と解消及び手順書の作成
⑤ エラーが解消されたことを確認した後、本番環境での手順書に従いながらバージョンアップとエラーの解消を実施
⑥ 本番環境でのテスト
Web制作の現場で多いのが、5年程度経過したWebサイトはデザインごとリニューアルしてしまうという手法です。
この場合、そもそも最新のMySQLバージョンで作り直しますので、問題も解決します。
MySQLは無償版が存在することもあり、Webサイトに関しては大手企業であってもMySQLを利用しているケースが多いのが現状です。
しかしながら、自社内で保守を行うにも属人化が発生してリソースが足りなくなったり、徐々にシステムの規模が大きくなるにつれて社内では対応できなくなったりすることが増えています。
そうした場合、特にWebサイトに関してはWeb制作会社に相談されると思いますが、結構な確率でMySQLを含むミドルウェアのアップデートには対応できないと回答されるケースがあるようです。
無料版であるMySQL Community Editionでどこまで保守が可能か、有料版への切り替え時期はどうすべきか、等お悩みがございましたら、こちらのお問い合わせよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。