2.8.6. 在Windows下从源码安装MySQL

下面的说明描述了如何在Windows下从5.1版源码构建MySQL二进制。说明用于从包含最新开发源码的标准源码分发版或从BitKeeper树来构建二进制。

注释:本文档中的说明严格限于在Windows下从最新源码分发版或从BitKeeper树来测试MySQL的用户。作为产品使用时,MySQL AB不建议使用你自己从源码构建的MySQL服务器。一般情况,最好使用MySQL AB预编译的对性能进行优化的适用WindowsMySQL二进制分发版。安装二进制分发版的说明参见2.3节,“在Windows上安装MySQL”

要想在Windows中从源码构建MySQLWindows系统中应有下面的编译器和资源:

·         Visual Studio 2003编译器系统(VC++ 7.0)

·         35GB的硬盘空间。

·         Windows 2000或更高版本。

确切的系统需求见:http://msdn.microsoft.com/vstudio/productinfo/sysreqs/default.aspx

还需要适用WindowsMySQL源码分发版。有两种方法可以获得MySQL 5.1 源码分发版:

1.    获得MySQL AB打包的源码分发版软件包。预打包的源码分发版可从 http://dev.mysql.com/downloads/获得。

2.    你可以用最新BitKeeper开发源码树构建源码分发版。如果你计划构建,必须在Unix系统中创建安装软件包,并将它转移到Windows系统。(这样操作的理由是部分配置和构建步骤需要只能在Unix中工作的工具)。BitKeeper方法需要:

·         运行Unix或类似Unix的系统,例如Linux

·         该系统上安装的BitKeeper 3.0。关于如何下载和安装BitKeeper的说明参见2.8.3节,“从开发源码树安装”

如果你使用Windows源码分发版,你可以直接跳到2.8.6.1节,“使用VC++构建MySQL”。要想从BitKeeper树构建,继续2.8.6.2节,“从最新的开发源码创建Windows源码安装包”

如果你发现某些组件不能按预料的工作,或者你有好的建议可以改进目前的在Windows中的构建过程,请向win32邮件列表发送消息。请参见1.7.1.1节,“The MySQL邮件列表”

2.8.6.1. 使用VC++构建MySQL

注释:MySQL 4.1和以上版本的VC++工作区文件与Microsoft Visual Studio 2003版本兼容,MySQL AB人员已经在每个版本之前进行了测试。

按照以下步骤构建MySQL

1.    创建工作目录(例如,C\ workdir)

2.    使用WinZip或其它可以读取.zip文件的Windows工具将源码分发版解压缩到上述目录。

3.    启动Visual Studio

4.    File菜单,选择Open Workspace

5.    打开工作目录中的MySQL.dsw工作区。

6.    Build 菜单,选择Set Active Configuration菜单。

7.    点击窗口选择mysqld - Win32 Debug并点击OK

8.    F7开始构建调试服务器、库和客户端应用程序。

9.    按同样方法编译发布版本。

10.程序和库的调试版本位于client_debuglib_debug目录。程序和库的发布版本位于client_releaselib_release目录。请注意如果你想要构建调试版本和发布版本,可以从Build菜单选择Build All选项。

11.测试服务器。使用前面的说明构建服务器时,默认MySQL基本目录和数据目录位于C:\mysqlC:\mysql\data。如果你想要使用源码树根目录和数据目录作为基本目录和数据目录来测试服务器,需要告诉服务器其路径名。可以在命令行用--basedir--datadir选项来完成,或将相应选项放入选项文件(Windows目录或C\my.cnf中的my.ini文件)。如果想要使用的数据目录在其它地方,可以指定其路径名。

12.根据你想要使用的服务器,从client_releaseclient_debug目录启动服务器。常用服务器启动说明见2.3节,“在Windows上安装MySQL”。如果想要使用其它基本目录或数据目录,需要相应地更改指令。

13.当服务器根据你的配置独立运行或作为服务时,尝试从client_releaseclient_debug目录中的MySQL交互式命令行实用工具连接它。

如果构建的程序工作正常,停止服务器。按照以下步骤安装MySQL

1.    创建安装MySQL的目录。例如,要安装到C\mysql,使用命令:

2.            C:\> mkdir C:\mysql
3.            C:\> mkdir C:\mysql\bin
4.            C:\> mkdir C:\mysql\data
5.            C:\> mkdir C:\mysql\share
6.            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.13节,“Perl安装注意事项”

7.    将下面的目录从workdir目录复制到C\mysql目录:

8.            C:\> cd \workdir
9.            C:\workdir> copy client_release\*.exe C:\mysql\bin
10.        C:\workdir> copy client_debug\mysqld.exe C:\mysql\bin\mysqld-debug.exe
11.        C:\workdir> xcopy scripts\*.* C:\mysql\scripts /E
12.        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”

2.8.6.2. 从最新的开发源码创建Windows源码安装包

要想从当前的BitKeeper源码树创建Windows源码安装包,使用下面的说明。请注意必须在运行Unix或类Unix操作系统的系统上执行该过程。例如,已知该过程在Linux上工作得很好。

1.    复制MySQL 5.1BitKeeper源码树。关于如何复制源码树的详细信息,相关说明参见2.8.3节,“从开发源码树安装”

2.    配置和构建分发版,得到可工作的服务器二进制。实现的一个方法是在源码树顶级目录运行下面的命令:

3.            shell> ./BUILD/compile-pentium-max

4.    确保构建过程成功完成后,从源码树顶级目录运行下面的实用工具脚本:

5.            shell> ./scripts/make_win_src_distribution

该脚本创建在Windows 系统中使用的源码安装包。可以根据你的需求为脚本提供不同的选项。它接受下面的选项:

·         --help

显示帮助消息。

·         --debug

打印关于脚本操作的信息,不创建包。

·         --tmp

指定临时位置。

·         --suffix

安装软件包后缀名。

·         --dirname

复制文件的目录名(媒介之间)

·         --silent

不打印正处理文件的详细列表。

·         --tar

创建tar.gz安装软件包而不是.zip安装软件包。

默认情况,make_win_src_distribution创建Zip-格式的文件,文件名为mysql-VERSION-win-src.zip,其中VERSION代表MySQL源码树的版本。

6.    将创建的Windows源码安装包复制或上载到Windows机器上。要想编译,使用2.8.6.1节,“使用VC++构建MySQL”中的说明。

关注编程学问公众号