MySQLマニュアルでのバージョン番号の説明とか

この記事は、2015年「MySQLマニュアルを読む」アドベントカレンダーの20日目です.


 昨日の日記で、sysスキーマ内の VERSION_* ファンクションを見ながら、バージョン番号の呼び方について若干の混乱をしました。というのも、私はセミナーなどで常に、「MySQLのメジャーバージョンは、5.7 とか 5.5 とか、5.0 とか、3.23 とかのように2つの数字の組み合わせであらわされます。4.0と4.1はまったくの別物であり、5.6と5.7もまったく別物です。なので、"バージョン 4から使ってます!" みたいな発言をすると、この人MySQL知らないんだな、と思われるので、"MySQL 4.1から使っています" のように、正しくメジャーバージョンを言えるようになりましょう」という内容のことを申し上げていました。

 言っている内容自体には大きな誤りはないのですが、ここでテーマとしているのは「メジャーバージョン」という言葉です。これは、MySQL 5.7 で導入された sys スキーマの VERSION_MAJOR(), VERSION_MINOR() ファンクションの表現と異なっているからです。昨日の日記で書いたとおり、MySQL 5.7.10 に於いては、

  メジャーバージョン: 5
  マイナーバージョン: 7
  パッチバージョン: 10

と呼ぶのが正しいということになりそうです。


 ということで、実はマニュアルにもバージョン番号のルールについての説明が(昔から)あります(yoku0825さんありがとうございます)。今日はその部分を眺めてみることにしましょう。

Chapter 2 Installing and Upgrading MySQL の中の
2.1 General Installation Guidance の中に
MySQL :: MySQL 5.7 Reference Manual :: 2.1.1 Which MySQL Version and Distribution to Install
があります。

 バージョンをあらわす数字についての説明部分を抜き書きします:

  • The first number (5) is the major version and describes the file format. All MySQL 5 releases have the same file format.
  • The second number (6) is the release level. Taken together, the major version and release level constitute the release series number.
  • The third number (1) is the version number within the release series. This is incremented for each new release. Usually you want the latest version for the series you have chosen.

要約すると 5.7.10 の場合、
 メジャーバージョン: 5 の部分
 リリースレベル: 7 の部分。 メジャーバージョンとリリースレベルを合わせて、シリーズナンバーと呼ぶ。
 リリースシリーズ内でのバージョンナンバー: 10 の部分。

とのことです。sysスキーマ内の用語とも異なりますね。
ちなみにマニュアルのこの記述、MySQL 4.1 シリーズの時にはすでに同じ用語での記述になっていました。


MySQL 4.1マニュアルより:

  • The first number (4) is the major version and also describes the file format. All version 4 releases

have the same file format.

  • The second number (1) is the release level. Taken together, the major version and release level

constitute the release series number.

  • The third number (2) is the version number within the release series. This is incremented for

each new release. Usually you want the latest version for the series you have chosen.


一緒ですね。


 そんなわけで、今後は「 "MySQL 5.7" というのは "シリーズ" (not メジャーバージョン)」ということで、発言に気をつけて参りたいと思います。普通に「バージョン 5.7」と言うことが大半でしょうけどね。



 ちなみに、マニュアルでのバージョンに関する記述。 バージョン番号の後ろにつく -rc や -m14 などの部分についても説明されています。バージョン 5.6シリーズでも記述はほとんど変わっていないので、日本語マニュアルを参照するのも良いかと思います。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 2.1.2 インストールする MySQL のバージョンと配布の選択