当社の新しいコードのテストにご興味がおありの場合は、この節をお読みください。単に MySQL を立ち上げてお客様のシステムを運用する場合には、標準の配布 (バイナリあるいはソースの配布) を使用されるようお願いします。
最近のほとんどの開発ソースツリーを入手するには、最初に Bazaar をダウンロードおよびインストールする必要があります。Bazaar は、Bazaar VCS の Web サイト から入手できます。Bazaar は Python をサポートするどのプラットフォームでもサポートされているため、どの Linux、Unix、Windows、または Mac OS X ホストとも互換性があります。さまざまなプラットフォームで Bazaar をダウンロードおよびインストールするための手順は、Bazaar の Web サイトで利用できます。
すべての MySQL プロジェクトは Launchpad でホストされます。MySQL サーバー、MySQL Workbench、およびその他を含む MySQL プロジェクトは、Sun/MySQL Engineering ページから入手できます。MySQL サーバーにのみ関係するリポジトリについては、MySQL Server ページを参照してください。
Unix または Linux で構築を行うには、次のツールがインストールされている必要があります。
GNU make。http://www.gnu.org/software/make/ から入手できます。一部のプラットフォームには独自の make 実装が付属していますが、GNU make の使用を強くお勧めします。これは、使用しているシステムですでに gmake として使用可能になっている場合があります。
autoconf 2.58 以降。http://www.gnu.org/software/autoconf/ から入手できます。
automake 1.8.1。http://www.gnu.org/software/automake/ から入手できます。
libtool 1.5。http://www.gnu.org/software/libtool/ から入手できます。
m4。http://www.gnu.org/software/m4/ から入手できます。
bison。http://www.gnu.org/software/bison/ から入手できます。できるかぎり最新バージョンの bison を使用してください。バージョン 1.75 とバージョン 2.1 は動作確認が取れています。bison 1.875 については問題が報告されています。問題が発生する場合は、それより前のバージョンではなくあとのバージョンにアップグレードしてください。bison 1.75 以前のバージョンではこのエラーあるかも知れません。
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
テーブルの最大サイズを実際には超えていなくても、bison の旧バージョンのバグでエラーが発生します。
Windows で構築を行うには、Microsoft Visual C++ 2005 Express Edition、Visual Studio .Net 2003 (7.1)、または Visual Studio 2005 (8.0) コンパイラシステムが必要です。
必要なツールをインストールしたら、最初に MySQL ソースコードのローカルブランチをマシン上に作成する必要があります。
MySQL ソースコードのコピーを取得するには、新しい Bazaar ブランチを作成する必要があります。まだ Bazaar リポジトリディレクトリを設定していない場合は、新しいディレクトリを初期化する必要があります。
shell>mkdir mysql-server
shell>bzr init-repo --trees mysql-server
ディレクトリを初期化したら、パブリック
MySQL サーバーリポジトリから
branch
の処理を行うことができます。特定のバージョンのブランチを作成するには、次のようにします。
shell>cd mysql-server
shell>bzr branch lp:mysql-server/5.1 mysql-5.1
接続の速度によっては、最初のダウンロードを完了するのにしばらく時間がかかります。気長にお待ちください。最初のツリーをダウンロードすれば、追加のツリーのダウンロードにかかる時間は大幅に短くなるはずです。
Bazaar ブランチから構築を行うときは、アクティブなブランチのコピーを作成すると、元のブランチの内容に影響を及ぼさずに設定を行ったり変更を加えたりできます。これを行うには、元のブランチからブランチ処理を行います。
shell> bzr branch mysql-5.1 mysql-5.1-build
ローカルのブランチができたら、ソースコードから MySQL サーバーの構築を開始できます。Windows での構築プロセスは Unix または Linux の場合とは異なります。Windows で MySQL の構築を続けるには、項2.10.6. 「Windows にソースから MySQL をインストールする」 を参照してください。
Unix または Linux では、構築を行う前に構築環境を設定できるように、autoconf システムを使用して configure スクリプトを作成する必要があります。
以下の例はソースツリーの設定に必要な一般的なコマンドを示したものです。最初の
cd
コマンドはロケーションをツリーの一番上のレベルに変更し、mysql-5.1
を適切なディレクトリ名に置き換えます。
MySQL 5.1.12
以前の場合は、INNODB
ストレージエンジンを別個に設定する必要があります。これを行うには、メインのソースディレクトリから次のコマンドを実行します。
shell> (cd storage/innobase; autoreconf --force --install)
shell>cd mysql-5.1
shell>autoreconf --force --install
shell>./configure # Add your favorite options here
shell>make
あるいは BUILD/autorun.sh を以下のコマンドのシーケンスとして使用できます。
shell>aclocal; autoheader
shell>libtoolize --automake --force
shell>automake --force --add-missing; autoconf
ディレクトリを
storage/innobase
ディレクトリに変更するコマンドラインは
InnoDB
ストレージエンジンの設定に使用されます。InnoDB
のサポートが必要ない場合にはこの行を削除できます。
MySQL 5.1
以降では、ストレージエンジン専用のコードは
storage
ディレクトリに移動されています。たとえば、InnoDB
コードは現在
storage/innobase
にあり
NDBCLUSTER
コードは
storage/ndb
にあります。
この段階で見慣れないエラーが発生する場合は、インストールされている libtool のバージョンが正しいことを確認してください。
弊社の標準設定のスクリプト一覧は
BUILD/
サブディレクトリにあります。たとえば、BUILD/compile-pentium-debug
スクリプトを使用するほうが上述の shell
コマンドよりも使い勝手がいいことがお分かりかと思います。別のアーキテクチャーでコンパイルを行うには、Pentium
固有のフラグを削除してスクリプトを変更するか、もっと適切な可能性のある別のスクリプトを使用します。これらのスクリプトは、「現状のままで」
提供されています。これらのスクリプトは公式には保守されておらず、その内容はリリースによって変更されることがあります。
ビルドが終了したら、make
install
を実行します。この実行は本稼働マシンでは注意してください。そのコマンドによって実際のリリースのインストールがオーバーライドされる場合があります。別の
MySQL
がインストールされている場合は、./configure
を、--prefix
、--with-tcp-port
、および
--with-unix-socket-path
オプションの、本稼働サーバーで使用する値とは異なる値で実行します。
インストールしたら色々試し新機能をクラッシュさせてみてください。make test の実行から始めてみてください。MySQL Test Suite を参照してください。
make
段階になっても、配布のコンパイルができない場合は、How to Report Bugs or Problems
の説明に従ってその問題を弊社のバグデータベースに入力お願いします。必要な
GNU
のツールの最新バージョンをインストールして、弊社の設定ファイルの処理中にクラッシュする場合には、その件も併せてご連絡お願いします。しかし、aclocal
を実行して command not
found
エラーが発生した場合あるいは同様の問題が発生した場合には、レポートしないでください。その代わり、必要なすべてのツールがインストールされ
shell がパスを見つけられるように
PATH
変数が正しく設定されているか確認してください。
ソースツリーを取得するためにレポジトリを最初に bzr でコピーしたら、pull オプションを使用して定期的にローカルのコピーを更新する必要があります。レポジトリ設定後にこれを行うときには、以下のコマンドを使用します。
shell> bzr pull
ツリーの変更セットのコメントは、bzr
で log
オプション使用して確認できます。
shell> bzr log
オンラインでも変更セット、コメント、およびソースコードをブラウズできます。MySQL 5.1 のこの情報を参照するには、http://launchpad.net/mysql-server/ を参照してください。
疑問に思う diffs
あるいはコードが表示された場合には、MySQL
internals
メーリングリストにいつでもメールしてください。詳しくはMySQL Mailing Listsを参照してください。また、何でもいいですから何かよいアイデアが浮かんだ場合には、パッチと一緒にメールを上記のメーリングリストに送ってください。