実に6年ぶり!「MySQL」のメジャーバージョン「8.4.0 LTS」が新しいリリーススタイルで登場

2024年6月19日(水)
坂井 恵 (さかい けい)
2024年4月30日に、MySQLの新たなメジャーバージョン「MySQL 8.4.0」がリリースされました。本記事では、MySQLの新しい開発モデル「LTS」版と「Innovation Release」について紹介します。

はじめに

2024年4月30日に、MySQLの新たなメジャーバージョン(シリーズ)である「MySQL 8.4.0」がリリースされました。2018年4月にMySQL 8.0シリーズが正式リリースされて以来、実に6年ぶりのメジャーバージョン・リリースです。それまでのMySQLは概ね3年程度で新しいメジャーバージョンが公開されてきたので、今回の6年というのは、まさに「待望の」新バージョンと呼んでも差し支えないでしょう。

リリース方針の変更

MySQL 8.0シリーズが快調にリリースされ続けていた2023年7月に、今後のリリース方針の大きな変更に関するアナウンスがありました。かいつまんで言うと、今後は「LTS版」と「Innovation Release」の2本立てで開発をしていくという内容です。

LTSとは「Long-Term Support」の頭文字で「長期サポート」の意味です。その名のとおり本番環境で長期間安心して使えるように、安定したサポートを目指しているバージョン系列となります。「エル・ティー・エス」と読みます。

一方のInnovation Release(イノベーション・リリース)は、より先進的な機能を積極的に試していこうという開発スタイルで、筆者は別名、親しみを込めて「意欲的バージョン」または、砕けた言い方として「やんちゃするバージョン」とも呼んでいます。このような開発スタイルに至った背景は後述しますが、リリース系列を分けることでInnovation Relaseでは新しい機能の開発を続けながらも(そう、新しい機能というのはある程度の確率でバグを含むものです)、LTS版では安定して本番環境で動作するものを提供することを目指しているのです。

LTS版のリリース時期とサポート期間

もう少し具体的にLTS版とInnovation Releaseの違いについて説明します。まずサポート期間について、MySQLはこれまでのメジャーバージョンでも「正式リリース後8年間」のサポートを行ってきました(Premier Supportが5年、加えてExtended Supportが3年の合計8年ですが、MySQLの場合は多くの場合この2つを分けて意識することはないでしょう)。LTS版でも、これまでと同様に8年間のサポートが表明されています。つまり今回リリースされたMySQL 8.4シリーズは、8年後の2032年4月まで3ヶ月ごとにマイナーバージョンがリリースされ続けるというわけです。

また、LTSは2年ごとにリリースされることもアナウンスされています。つまり2026年4月に次のメジャーバージョンが、2028年4月には更に次のメジャーバージョンがリリースされます。これはこれまでの「約3年」というMySQLのリリースサイクルと比べても非常に早いペースです。開発スピードに対するMySQL開発チームの意欲と覚悟が見えて来ますね。

Innovation Release版の利用には注意!

ここまで、LTSが長期間に亘ってサポートされる、本番環境での使用にふさわしいリリースバージョンであることを説明してきました。ここからは、もう一方のInnovation Releaseについて解説します。

Innovation Releaseは前段で「やんちゃするバージョン」と紹介したように、積極的に新機能や機能の変更を試みていくバージョンです。どうしても動作が不安定になるタイミングもあるでしょうし、前のバージョンで動いていたものが仕様の変更や廃止により動かなくなることもあり得ます(一応、廃止に関しては、まず非推奨扱いにして、そこから1年間はInnovation Release内でも機能を実際に削除することはないとアナウンスはされています)。常に最新情報をキャッチアップしてバージョンアップに追随する覚悟がない限りは、本番環境で採用すべきではないでしょう。

MySQLのリリースサイクルは3ヶ月ごとなので、3ヶ月に一度(LTSのマイナーリリースとともに)新しいInnovation Releaseが公開されます。まず2024年7月に「MySQL 9.0.0」が公開されると見られており、以後、10月には 9.1.0、翌年1月には9.2.0のように、従来のMySQLで言うところの「メジャーバージョン部分」のバージョン番号が上がっていきます。

そして、約2年後にそれまでのInnovation Releaseの成果をまとめて LTS版がリリースされます。MySQL 9.X を例にすると、MySQL 9.1、9.2…9.6とリリースされたところで次がLTSリリースのタイミングになるので、MySQL 9.7 LTSとしてリリースされるということになります。LTSがリリースされると、新たなInnovation Release系列であるMySQL 10.0、10.1…とリリースされていきます。このように、LTS版とは、そこまでのInnovation Releaseの集大成のものだと言えそうです。

なお、ここで説明した将来のバージョンはすべて本稿執筆時点で公開されている情報をもとにしたものであり、今後変更される可能性がある点に留意ください。

MySQL 8.0とは何だったのか

最後に、このようなリリース体系を採用することになった背景を解説します。それはすなわち、MySQL 8.0で起こったことの解説でもあります。

MySQL 8.0より前のMySQLは、基本的には同一メジャーバージョン内では互換性を保つようにリリースされてきました。マイナーバージョンアップをしたから動かなくなった、ということはなるべく起こらないようしていたし、マイナーアップグレードがうまくいかなければ前のバージョンに切り戻すことも比較的容易にできました。

ところが、NoSQLらをはじめとする周辺技術の台頭もあり、データベース界隈の速い変化にしっかり追随する必要が出てきた中で、従来型のリリース、つまり「3年後の次のメジャーバージョン」まで機能の搭載を待てない状況になったのです。そこでMySQL 8.0で採用されたのが「継続的デリバリモデル」でした。メジャーバージョン内でも積極的に新機能や非互換の改善を盛り込んでいく、という方針です。折しも世間ではWindows 10が同様の継続的デリバリの開発モデルを採っていたこともあり、進化への要求と相俟って、ある意味自然な選択だったと言えるかもしれません。

その結果起こったのが、MySQLを利用する現場の困惑でした。マイナーバージョンアップなのに動作が変わってしまうことがあるので、安心してアップグレードできない、アップグレードに多大な検証作業が必要になる、といった状態になっていたのです。セキュリティ上あるいは性能面で適用したい最新バージョンがあっても、「意欲的な」追加機能や機能変更の影響が怖くて手が出せない人が続出しました。人々は進化を求めると同時にまた、安定も求めていたことが明らかになったのです。

このように「安心してバージョンアップできるMySQL」を求める声が大きくなっていく中でMySQL開発チームが選択したのが、今回の「LTSとInnovation Releaseの2本立て」ということなのです。

MySQL 8.4.0の新機能とは

このように、MySQL 8.0シリーズ自体があたかもInnovation Releaseのように進化し続けるスタイルだったこともあり、実はMySQL 8.0の最新バージョンとMySQL 8.4とは、それほど大きな違いはありません。個別の違いについては公式マニュアル「What is new in MySQL 8.4 since MySQL 8.0」を参照していただくとして、1点だけ筆者も躓いた変更点を紹介します。

MySQLのパスワード方式で、MySQL 8.0まで使用可能だったmysql_native_passwordが、MySQL 8.4ではデフォルトでは使用不可になっています。今後はより強度の高いcaching_sha2_passwordの使用が推奨されるので、ゆくゆくは変更をお勧めするところですが、このままでは旧バージョンからアップグレードした際に接続できなくなってしまって大変です。「アップグレードに失敗した!」と焦らずに、mysql_native_password認証プラグインを有効化してMySQLサーバを起動すれば、接続可能になります。詳しくは筆者のブログも参考になるでしょう。

おわりに

本記事では、MySQLの新しい開発モデルである、LTS(Long-Term Support)版とInnovation Releaseについて、具体的な公開タイミングを含めて紹介しました。MySQL 8.0のサポート期間は2026年4月までとデータベースのアップグレード準備期間としてはそう遠くないところまで迫ってきています。MySQL 8.4 LTSのサポート期間は8年間もありますので、MySQLを運用されている方はこの機会に MySQL 8.4 LTSへのアップグレードを検討してみてはいかがでしょうか。

この記事の内容まとめ

  • 長期サポートである LTS版と、精力的に新機能や機能の変更などを行うInnovation Releaseの2本立てでリリースされる
  • LTS版にはマイナーバージョンアップで非互換となる修正は含まれない
  • LTS版のサポートは8年間
  • LTS版の新メジャーバージョンリリースは2年に1度行われる
  • LTS版のリリースの合間にInnovation Releaseが公開される
  • Innovation Releaseのサポート期間は「次のInnovation ReleaseまたはLTSが出るまで」と短いため本番運用には適さない
著者
坂井 恵 (さかい けい)
有限会社アートライ 代表取締役
MySQLや地理情報系などのコミュニティ活動を通して様々な情報に触れるのが好き。データベースについては、業務や世の中の流れが見える「データそのもの」や「その変化」に強い関心を持っているが、最近はPG-Stromのプロジェクトに参加したこともあり、改めて性能評価への関心も高まっている。

連載バックナンバー

データベース技術解説

実に6年ぶり!「MySQL」のメジャーバージョン「8.4.0 LTS」が新しいリリーススタイルで登場

2024/6/19
2024年4月30日に、MySQLの新たなメジャーバージョン「MySQL 8.4.0」がリリースされました。本記事では、MySQLの新しい開発モデル「LTS」版と「Innovation Release」について紹介します。
プロジェクト管理技術解説

失敗しないプロジェクトマネジメントに必要なこと 基礎知識やポイントを解説

2024/1/23
新規事業や新商品開発などで立ち上がるプロジェクトは、プロジェクトマネジメントがしっかりとできていれば成功しやすくなります。この記事ではプロジェクトマネジメントの基本的な知識と、失敗しがちな例をご紹介します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています