最初に、最新の開発版リリースと最新の製品版(安定版)リリースのどちらを使用するかを決めます。
初めて MySQL を使用を開始する場合や、専用のバイナリディストリビューションがないシステムに MySQL を移植する場合は、通常は製品版リリース(現バージョンは 4.0)を選択することをお勧めする。 注意: すべての MySQL リリースは、リリース前に MySQL ベンチマークと広範なテストスィートによってチェックされている(開発版リリースの場合も同様)。
それ以外の場合、既存の旧バージョンのシステムをアップグレードしたいが、シームレスでないアップグレードを使用するのが不安な場合は、使用している同じブランチを最新のものにアップグレードする(最新のバージョンが、使用しているものより新しい場合)。最新バージョンでは、重大なバグだけが修正され、比較的小さく安全な変更が行われている。
次に、ソースディストリビューションとバイナリディストリビューションのどちらを使用するかを決めます。ご使用のプラットフォーム用のバイナリディストリビューションがある場合、バイナリディストリビューションを使用してください。これは、一般的にソースディストリビューションよりもインストールが簡単なためです。
以下の場合は、ソースインストールを使用した方がうまく行く可能性があります。
MySQL を明示的に指定した場所にインストールする場合(標準のバイナリディストリビューションは、任意の場所で ``実行可能'' だが、よりいっそうの柔軟性が得られる)。
さまざまなユーザの要件を満たすことができるように、2
種類のバイナリバージョンが用意されている。1
つは非トランザクションストレージエンジンを組み込んでコンパイルされたバイナリ(高速で小さなバイナリ)で、もう
1
つはトランザクションセーフテーブルなどの最も重要な機能が組み込まれたバイナリである。どちらのバージョンも同じソースディストリビューションからコンパイルされている。すべての
MySQL
ネイティブクライアントは、両方の MySQL
バージョンに接続できる。
拡張 MySQL
バイナリディストリビューションには、-max
というサフィックスが付いており、mysqld-max
と同じオプションが指定されている。 See
項4.8.5. 「mysqld-max
(拡張 mysqld
サーバ)」。
MySQL-Max
RPM
を使用する場合は、まず標準の
MySQL-server
RPM
をインストールする必要がある。
標準のバイナリディストリビューションに含まれていない追加機能を
mysqld
に組み込む場合。以下に、最もよく使用される追加オプションの一覧を示す。
--with-innodb
(MySQL 4.0
以降の場合はデフォルト)
--with-berkeley-db
(使用できないプラットフォームもある)
--with-raid
--with-libwrap
--with-named-z-libs
(一部のバイナリ用)
--with-debug[=full]
デフォルトのバイナリディストリビューションは、通常、すべてのキャラクタセットのサポートを組み込んでコンパイルされ、同じプロセッサファミリの各種プロセッサ上で動作する。
MySQL
サーバをより高速化したい場合は、必要なキャラクタセットのサポートだけを組み込んで
MySQL
サーバを再コンパイルする必要がある。その際は、より適切なコンパイラ(pgcc
など)を使用するか、使用しているプロセッサ向けにより最適化されたコンパイラオプションを使用する。
バグを見つけて、MySQL 開発チームに報告すると、パッチが送付される。そのパッチをソースディストリビューションに適用して、バグを修正する必要がある。
MySQL を構成する C および C++ のコードの読み取りや修正を行う場合は、ソースディストリビューションを入手する。ソースコードは、常に最高のマニュアルとなる。また、ソースディストリビューションには、バイナリディストリビューションよりも多くのテストやサンプルが含まれている。
MySQL の名前付けスキームでは、3 つの数字と 1
つのサフィックスで構成されるリリース番号が使用されます。たとえば、mysql-4.1.0-alpha
のようなリリース名は、以下のように解釈されます。
最初の数字(4
)は、メジャーバージョン番号であり、同時にファイル形式も表している。バージョン
4
の全リリースは同じファイル形式を持っている。
2
番目の数字(1
)はリリースレベルである。
3
番目の数字(0
)は、リリースレベル内のバージョン番号である。この数字は、新しいディストリビューションごとに増えていく。通常は、選択したリリースレベルの最新のバージョンが必要である。
サフィックス(alpha
)は、リリースの安定性のレベルを示す。
以下のようなサフィックスがある。
alpha
は、そのリリースに
100%
はテストされていない新しいコードが含まれていることを示している。既知のバグ(通常はない)は、「News」のセクションに記載される。See
付録 D. MySQL Change History。 ほとんどの alpha
リリースには新しいコマンドと拡張機能も含まれている。
alpha
リリースでは、大きなコード変更がおきるような開発が行われる可能性があるが、リリースの前にすべてがテストされている。MySQL
リリースには既知のバグはない。
beta
は、すべての新しいコードがテストされていることを示している。古いコードを破壊するような大きな新しい機能は追加されていない。既知のバグはない。少なくとも
1 か月間、alpha
バージョンで重大なバグが報告されず、古いコマンドの信頼性を下げるような機能を追加する計画がない場合は、バージョンはアルファからベータに変わる。
gamma
は、一定期間出回っていて、正常に動作すると思われるベータバージョンである。小さな修正だけが追加される。これは、他の多くの企業でリリースと呼ばれているものである。
サフィックスが付いていない場合は、そのバージョンがさまざまなサイトでプラットフォーム固有のバグ以外のバグが報告されることなく一定期間稼動していたことを意味する。そのようなリリースには重大なバグ修正だけが適用される。これは、製品版(安定版)リリースと呼ばれているものである。
MySQL 開発プロセスでは、段階の異なるさまざまなバージョンが共存します。当然、旧バージョンのシリーズの関連バグ修正は新バージョンに伝播されます。
以前の安定版/製品版シリーズ
3.23
の場合、新バージョンは重大なバグの場合のみリリースされる。
現行のシリーズ 4.0
は、安定版/製品版レベルの品質で、バグ修正のために新しいバージョンがリリースされている。コードの安定性に影響を及ぼすような新機能は追加されていない。
alpha ブランチ 4.1
では、重要な新機能が追加されている。開発システムで使用およびテストするためのソースとバイナリが用意されている。
開発ブランチ 5.0
は、BitKeeper
ツリーからのみ入手できる。
MySQL のすべてのバージョンは、標準テストとベンチマークテストが行われ、比較的安全であることが確認されています。標準テストは、過去に見つかったすべてのバグをチェックするために時間の経過とともに拡張されているので、テストスィートは常に改良されています。
注意: すべてのリリースは少なくとも以下のテストが実行されています。
内部テストスィート
mysql-test
ディレクトリには充実したテストケースセットが含まれている。
これらのテストは、事実上すべてのサーババイナリに対して行われる。
MySQL ベンチマークスィート
このテストスィートは、各種の一般的クエリを実行する。これは、また、最新の一連の最適化が実際にコードを高速化するかどうかを確認するためのテストでもある。 See 項5.1.4. 「MySQL ベンチマークスィート」。
crash-me
テスト
データベースがサポートする機能と、その能力と制約の判定が試行される。 See 項5.1.4. 「MySQL ベンチマークスィート」。
もう 1 つのテストは、当社が社内の実稼動環境で少なくとも 1 台のマシン上で最新の MySQL バージョンを使用することです。当社には 100 ギガバイトを超える処理用データがあります。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.