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