Windows 上で MySQL を構築するには、cmake と Microsoft Visual Studio .NET 2003 (7.1)、Microsoft Visual Studio 2005 (8.0)、または Microsoft Visual C++ 2005 Express Edition を組み合わせて使います。適切な Microsoft Platform SDK がインストールされている必要があります。
Windows
上でソースコードからコンパイルするには、標準ソース配布
(mysql-5.1.47.tar.gz
など)
を使用する必要があります。Unix、Linux、およびその他のプラットフォームで
MySQL
を構築するときに使用するのと同じ配布から構築します。Windows
ソース配布は、必要な設定スクリプトおよびその他のファイルが含まれていないため使用しないでください。
MySQL をビルドするには以下の手順に従います。
パッケージの配布からインストールする場合、作業ディレクトリ
(たとえば、C:\workdir
)
を作成し、WinZip
あるいは .zip
ファイルを読める別の Windows
のツールを使用してソース配布を作業ディレクトリに解凍します。このディレクトリは作業ディレクトリでその手順は以下のようになります。
コマンドシェルを使用するには、作業ディレクトリをナビゲートして以下のコマンドを実行します。
C:\workdir>win\configure.js options
.js
ファイル拡張子をテキストエディタなどのアプリケーションと関連付けている場合は、次のコマンドを使って
configure.js
をスクリプトとして強制的に実行する必要があることがあります。
C:\workdir>cscript win\configure.js options
次のオプションが
configure.js
で使用できます。
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
ストレージエンジンを有効にします。
WITH_NDBCLUSTER_STORAGE_ENGINE
(試験段階): MySQL
サーバーの
NDBCLUSTER
ストレージエンジンを有効にします。MySQL
Cluster
の管理およびデータのノード、管理クライアント、およびその他のプログラムのバイナリを構築します。
このオプションは、MySQL Cluster
ソースを使用する MySQL Cluster NDB 7.0
(NDBCLUSTER
ストレージエンジンのバージョン 6.4.0
以降) でのみサポートされます。ほかの
MySQL
ソースツリーまたは配布でのクラスタ化のサポートを有効にするために使用することはできません。
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 から利用できます。
たとえば (1 つの行にコマンドを入力します):
C:\workdir>win\configure.js 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」メニューで適切な設定を選択します。メニューには「Debug」、「Release」、「RelwithDebInfo」、「MinRelInfo」オプションがあります。次に「Solution」
>
「Build」を選択してソリューションをビルドします。
このステップで使用した設定を覚えておきます。これはあとでスクリプトを実行するときに重要になります。というのは、スクリプトはどの設定になっているか知る必要があるからです。
サーバーのテスト。上記の手順でビルドしたサーバーの
MySQL
ベースディレクトリおよびデータディレクトリはデフォルトで
C:\mysql
および
C:\mysql\data
になります。サーバーをソースのツリールートおよびそのデータディレクトリをベースのディレクトリおよびデータディレクトリとして使用してテストするには、サーバーにそれらのパス名を指定する必要があります。これは
--basedir
オプションおよび
--datadir
オプションのコマンドライン、あるいはオプションファイルで適切なオプションを設定することで指定できます。詳細は、Using Option Files
を参照してください。使用したい既存のデータディレクトリがどこかにある場合、代わりにそのパス名を指定します。
サーバーをスタンドアロンで稼働している場合あるいは設定上サービスベースで運用している場合、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 MTR_VS_CONFIG=debug
shell>./mysql-test-run.pl --force --timer
shell>./mysql-test-run.pl --force --timer --ps-protocol
ビルドしたプログラムが正常に機能していることに満足したら、サーバーを停止します。この段階で配布をインストールできます。これを行う方法の
1 つは、MySQL ソース配布の
scripts
ディレクトリで
make_win_bin_dist
スクリプトを使用することです
(make_win_bin_dist
を参照)。これはシェルスクリプトなので、これを使用する場合は
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 をインストールする」 を参照してください。