MySQL をビルドするには以下の手順に従います。
パッケージのディストリビューションからインストールする場合、作業ディレクトリ
(例えば、C:\workdir
)
を作成し、WinZip あるいは
.zip
ファイルを読める別の
Windows のツールを使用してソース
ディストリビューションを作業ディレクトリに解凍します。このディレクトリは作業ディレクトリでその手順は以下のようになります。
BitKeeper ツリーからインストールする場合、そのツリーのルート ディレクトリは作業ディレクトリで以下の手順に従います。
コマンド シェルを使用するには、作業ディレクトリをナビゲートして以下のコマンドを実行します。
C:\workdir>win\configure options
以下のオプションが利用できます。
WITH_INNOBASE_STORAGE_ENGINE
:InnoDB
ストレージ エンジンを有効にします。
WITH_PARTITION_STORAGE_ENGINE
:ユーザー定義のパーテッション化を有効にします。
WITH_ARCHIVE_STORAGE_ENGINE
:ARCHIVE
ストレージ エンジンを有効にます。
WITH_BLACKHOLE_STORAGE_ENGINE
:BLACKHOLE
ストレージ エンジンを有効にします。
WITH_EXAMPLE_STORAGE_ENGINE
:EXAMPLE
ストレージ エンジンを有効にします。
WITH_FEDERATED_STORAGE_ENGINE
:FEDERATED
ストレージ エンジンを有効にします。
__NT__
:名前付きパイプのサポートを有効にします。
MYSQL_SERVER_SUFFIX=
:サーバ接尾辞、デフォルトはなし
suffix
COMPILATION_COMMENT=
:Server
コメント、デフォルトは 「ソース
ディストリビューション」
comment
MYSQL_TCP_PORT=
:サーバ
ポート、デフォルトは 3306。
port
DISABLE_GRANT_OPTIONS
:--bootstrap
、--skip-grant-tables
、および
--init-file
オプションをmysqld
に対して無効にします。このオプションは
MySQL 5.1.15 から利用できます。
例えば (一つの行にコマンドを入力します):
C:\workdir>win\configure WITH_INNOBASE_STORAGE_ENGINE
WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
作業でディレクトリから、インストールした
Visual Studio のバージョンに基づいて
win\build-vs8.bat
あるいは
win\build-vs71.bat
ファイルを実行します。スクリプトが CMake
を実行し、mysql.sln
のソリューション ファイルを生成します。
また win\build-vs8_x64.bat
を使用して 64-ビット バージョンの MySQL
をビルドできます。しかし、64-ビット
バージョンを Visual Studio Express Edition
ではビルドできません。Visual Studio 2005 (8.0)
あるいはそれ以上を使用する必要があります。
作業ディレクトリで、生成された
mysql.sln
ファイルを Visual
Studio で開いて、Configuration
メニューで適切な設定を選択します。メニューには
デバッグ、リリース、RelwithDebInfo、MinRelInfo
オプションがあります。次に
ソリューション >
ビルド
を選択してソリューションをビルドします。
このステップで使用した設定を覚えておきます。これは後でスクリプトを実行するときに重要になります。というのは、スクリプトはどの設定になっているか知る必要があるからです。
サーバのテスト。上記の手順でビルドしたサーバの
MySQL ベース ディレクトリおよびデータ
ディレクトリはデフォルトで
C:\mysql
および
C:\mysql\data
になります。サーバをソースのツリー
ルートおよびそのデータディレクトリをベースのディレクトリおよびデータ
ディレクトリとして使用してテストするには、サーバにそれらのパス名を指定する必要があります。これは
--basedir
オプションおよび
--datadir
オプションのコマンドライン、あるいはオプション
ファイルで適切なオプションを設定することで指定できます。(項3.3.2. 「オプションファイルの使用」
参照。)使用したい既存のデータ
ディレクトリがどこかにある場合、代わりにそのパス名を指定します。
サーバをスタンドアロンで稼動している場合あるいは設定上サービス ベースで運用している場合、mysql のインターラクティブ コマンドライン ユーティリティからそれに接続します。
標準のテスト
スクリプト、mysql-test-run.pl
を実行することもできます。このスクリプトは
Perl
で書かれているので、それを実行するには
Cygwin あるいは ActiveState Perl
のいずれかが必要です。またこのスクリプトに必要なモジュールをインストールしなければならない場合もあります。テスト
スクリプトを実行するには、ロケーションを作業ディレクトリの
mysql-test
ディレクトリに変更し、
MTR_VS_CONFIG
環境変数を以前選択した (あるいは
--vs-config
オプションを使用し)
設定を選択して、mysql-test-run.pl
を実行します。例えば (Cygwin および
bash シェルを使用してl):
shell>cd mysql-test
shell>export MTS_VS_CONFIG=debug
shell>./mysqltest-run.pl --force --timer
shell>./mysqltest-run.pl --force --timer --ps-protocol
ビルドしたプログラムが正常に機能していることに満足したら、サーバを停止します。この段階でディストリビューションをインストールできます。インストールを行う一つの方法として
MySQL のソース ディストリビューションの
scripts
ディレクトリにある
make_win_bin_dist
スクリプトを使用する方法があります
(項4.5.1. 「make_win_bin_dist — Package MySQL 配布 (ZIP アーカイブ)」 参照)これはシェル
スクリプトですので、これを使用する際は
Cygwin
をインストールする必要があります。それによりビルドした実行ファイルの
Zip アーカイブを作成し、 MySQL
をインストールするロケーションに解凍するファイルをサポートします。
ディレクトリやファイルを直接コピーして MySQL をインストールすることもできます。
MySQL
をインストールするディレクトリを作成します。例えば、C:\mysql
にインストールするには、このコマンドを使用します。
C:\>mkdir C:\mysql
C:\>mkdir C:\mysql\bin
C:\>mkdir C:\mysql\data
C:\>mkdir C:\mysql\share
C:\>mkdir C:\mysql\scripts
他のクライアントをコンパイルしてそれらを MySQL にリンクさせるには、さらに幾つかのディレクトリを作成する必要があります。
C:\>mkdir C:\mysql\include
C:\>mkdir C:\mysql\lib
C:\>mkdir C:\mysql\lib\debug
C:\>mkdir C:\mysql\lib\opt
MySQL をベンチマークするには、このディレクトリを作成します。
C:\> mkdir C:\mysql\sql-bench
ベンチマークするには Perl のサポートが必要です。項2.15. 「Perl のインストールに関する注釈」 参照。
作業ディレクトリから、以下のディレクトリを
C:\mysql
ディレクトリにコピーします。
C:\>cd \workdir
C:\workdir>copy client_release\*.exe C:\mysql\bin
C:\workdir>copy client_debug\mysqld.exe C:\mysql\bin\mysqld-debug.exe
C:\workdir>xcopy scripts\*.* C:\mysql\scripts /E
C:\workdir>xcopy share\*.* C:\mysql\share /E
他のクライアントをコンパイルしてそれらを MySQL にリンクさせるには、幾つかのライブラリとヘッダーファイルもコピー必要があります。
C:\workdir>copy lib_debug\mysqlclient.lib C:\mysql\lib\debug
C:\workdir>copy lib_debug\libmysql.* C:\mysql\lib\debug
C:\workdir>copy lib_debug\zlib.* C:\mysql\lib\debug
C:\workdir>copy lib_release\mysqlclient.lib C:\mysql\lib\opt
C:\workdir>copy lib_release\libmysql.* C:\mysql\lib\opt
C:\workdir>copy lib_release\zlib.* C:\mysql\lib\opt
C:\workdir>copy include\*.h C:\mysql\include
C:\workdir>copy libmysql\libmysql.def C:\mysql\include
MySQL をベンチマークするには、以下が必要です。
C:\workdir> xcopy sql-bench\*.* C:\mysql\bench /E
インストールしたら、バイナリの Windows ディストリビューションと同じようにサーバを設定して起動します。項2.3. 「Windows に MySQL をインストールする」 参照。