最初に決めることは生産 (安定) リリースあるいは開発リリースのどちらにするかということです。MySQL の開発に於いては、開発の完成度に応じた複数のリリースシリーズがあります。
MySQL 5.4 および 6.0 は、現在開発中のリリースシリーズです。
MySQL 5.1 は、現在の一般提供 (本稼働) のリリースシリーズです。新しいリリースはバグ修正のみのためのリリースです。安定性に影響する新しい機能は追加されていません。
MySQL 5.0 は以前の安定した (本稼働品) リリースシリーズです。
MySQL 4.1、4.0、および 3.23 は、安定した (本稼働品質の) 古いリリースシリーズです。MySQL 4.1 は、現在製品ライフサイクルの最後にあります。これらのバージョンの積極的な開発およびサポートは終了しました。
MySQL 4.1 の延長サポートはまだ利用できます。「MySQL ライフサイクルポリシー」によれば、MySQL 4.1 では、セキュリティーと重要度レベル 1 の問題だけが現在も修正中です。
弊社としては完全にコードが使用できなくなる (凍結) とは想定していません。というのは、これによってバグ出しや修正など必要な対策が出来なくなるからです。「ある程度凍結」 は現在の本稼働リリースの機能に影響を及ぼさずに小さな修正ができるものを意味しています。当然のことながら、旧バージョンのバグ出しで関連するものはその後のバージョンに反映されています。
MySQL をはじめて使用する場合、またはバイナリ配布のないシステムへのポートを試みる場合は、一般提供のリリースシリーズを使用してください。現在のリリースは MySQL 5.1 です。すべての MySQL リリースを、開発段階のものも含めて、リリース前に MySQL のベンチマークと広範な一連のテストで確認します。
お客様が旧バージョンを使用していてアップグレードを希望される場合で、シームレスのアップグレードを好まれる場合には、最新バージョンへアップグレードする際には現在お使いのシリーズ (バージョン番号の最後の数字が現在お使いのものより新しいもの) と同じシリーズでアップグレードする必要があります。弊社では致命的なバグの修正および小さな、比較的 「安全な」 変更のみをそのバージョンに行っています。
本稼働リリースのシリーズで新しい機能の使用を希望される場合には、開発シリーズのバージョンを使用できます。開発リリースは本稼働リリースに比べて安定性に欠けることをご理解ください。
現在までのすべてのパッチおよびバグ修正を含む最新のソースを希望される場合、弊社の Bazaar リポジトリの中から選択できます。これらは 「リリース版」 ではありませんが、機能ベースのリリースを基にしたコードを試作品を利用できます。
MySQL の命名規則は 3 つの番号に接尾辞を使用しています。たとえば、mysql-5.0.12-beta のようになります。リリースの番号の内訳は以下のようになります。
最初の (5) は主なバージョンおよびファイルフォーマットを表します。MySQL 5 のすべてのリリースのファイルフォーマットは同じです。
2 番目の番号は (0) はリリースのレベルを表します。主なバージョン番号とリリースレベルを一緒にすると、リリースのシリーズ番号を表します。
3 番目の番号 (12) はリリースシリーズのバージョン番号を表します。これは新しいリリース毎に数が増えます。一般的には選択したシリーズの最新のバージョンを選択されます。
マイナーな更新が行われた場合、最後のバージョン文字列の数字が大きくなります。重要な機能の追加あるいは旧バージョンに互換性のないマイナーな変更が加えられた場合には、バージョン文字列の 2 番目の番号が大きくなります。ファイルフォーマットが変更になった場合、最初の番号の値が増えます。
リリース名にはまたリリースの安定性を示す接尾辞が含まれています。一連の接尾辞のシリーズの進展があった場合のリリースは安定性のレベルの改善の状態を表します。接尾辞には以下のようなものがあります。
アルファ は検討用のみのリリースを意味します。既知のバグはニュース節 (MySQL Change History 参照) に記述されています。ほとんどのアルファリリースには新しいコマンドや拡張が導入されています。重要なコードの変更を含む能動的な開発がアルファリリースで行われます。しかし、リリースを公開する前に弊社でテストを行ってます。
ベータ は新規の開発に使用できることを意味しています。ベータリリースでは機能および互換性の変更ありません。しかし、ベータのリリースには多くの重大なバグが含まれている場合があります。
すべての API、外部から可視可能な構成、および SQL ステートメントのカラムは将来のベータ、リリース候補、あるいは本稼働リリースでも変更はありません。
rc はリリース候補を意味します。リリース候補は安定していると思われており、MySQL の社内のすべてのテストに合格したもので、すべての既知の致命的なランタイムのバグは修正しています。しかしながら、これらのリリースはすべてのバグが間違いなく取り除かれたと確信するに足る広範な使用事例を経たものではありません。マイナーは修正のみが追加されています。(リリース候補は以前公式にはガンマリリースを呼ばれていたものです。
接尾辞がない場合、そのリリースは一般提供 (GA) あるいは本稼働リリースを意味します。GA リリースは安定しており、旧バージョンのすべてのバグ出しを完了したもので、信頼でき、重大なバグのない、本稼働システムの使用に適したものだと認識されています。重大なバグ出しのみがそのリリースに行われます。
MySQL は命名規則を使用していますが、それはほとんどのほかの製品と多少異なります。一般的には、同じリリースのシリーズに置き換えることなく数週間使用できた場合にはそのバージョンは使用しても通常は安全です。
すべての MySQL のリリースは標準のテストおよびベンチマーク実施して使用に関しては相対的な安全を確認さています。標準のテストは旧バージョンのすべてのバグ修正の経験と事例に基づいていますので、テスト項目とその精度はその都度向上しています。
リリースはすべて最低以下の項目でテストを実施しています。
社内のテスト項目
mysql-test
ディレクトリには広範なテスト項目含まれます。弊社ではこれらのテストをすべてのサーバーバイナリに実施しています。これらのテスト項目の詳細に関しては、MySQL Test Suite
を参照してください。
MySQL ベンチマーク項目
このテストでは一連の共通のクエリーを実施しています。最新の最適化バッチが実際にコードの処理速度の向上させるかについてもテストを実施して決めています。項4.1.4. 「MySQL ベンチマークスィート」 を参照してください。
クラッシュ
テスト
テストではデータベースがサポートしている機能およびその可能性と限界に以下テストします。項4.1.4. 「MySQL ベンチマークスィート」 を参照してください。
弊社ではまた最新の MySQL バージョンを社内の生産環境で、最低でも 1 台のマシンで実施しています。100GB 以上のデータで検証しています。