Windows下编译MySQL

Refence:  http://www.xianfen.net/Article137.aspx

 

因工作需要,编译MySQL,查找到MySQL官方的Windows下编译MySQL的文档,地址为:http://forge.mysql.com/wiki/Building_MySQL_on_Windows
按照文档知道一步一步操作即可。
 
一. 环境准备:
1. 获取MySQL最新源码:当前版本为5.1.44:http://dev.mysql.com/downloads/mysql/ (Windows (x86, 32-bit), ZIP Archive),解压到工作目录,如C:/MySQL
2. 安装VS2008,任何版本都可。如果是Express版本,需要再安装Windows SDK, Server 2003 R2 Platform SDK下载地址为:http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en
这里用的是VS2008 Dev版本。
3. 安装CMake(Windows版本),下载地址:http://www.cmake.org/cmake/resources/software.html, 旧版本可能不支持生成VS2008解决方案,推荐用最新版本。
注意:安装路径最好为英文,并且不要有空格。安装后将bin路径添加到系统环境变量。
4. 安装GNUWin32 Bison,下载地址为:http://gnuwin32.sourceforge.net/packages/bison.htm, 同样安装路径最好为英文,并且不要有空格。安装后将bin路径添加到系统环境变量。
5. 安装CygWin,下载地址为:http://www.cygwin.com/setup.exe, 选择模块时要选上Perl and Python模块。
注意:如果只编译,不做test,可不安装CygWin. 
 
二. 编译源代码:
1. 源码目录中sql/sql_locale.cc文件包含各地本地化语言,默认用的UTF-8 without BOM编码,编译器不能正确识别,用含有编码转换功能的文本编辑器将其另存为为UTF-8编码格式。
 
2. 控制台进入MySQL根目录,运行Win/configure.js脚本,脚本的参数为:
WITH_INNOBASE_STORAGE_ENGINE         Enable particular storage engines
WITH_PARTITION_STORAGE_ENGINE
WITH_ARCHIVE_STORAGE_ENGINE
WITH_BLACKHOLE_STORAGE_ENGINE
WITH_EXAMPLE_STORAGE_ENGINE
WITH_FEDERATED_STORAGE_ENGINE
__NT__                             Enable named pipe support
MYSQL_SERVER_SUFFIX=<suffix>        Server suffix, default none
COMPILATION_COMMENT=<comment>  Server comment, default "Source distribution"
MYSQL_TCP_PORT=<port>             Server port, default 3306
CYBOZU                            Default character set is UTF8
EMBED_MANIFESTS                  Embed custom manifests into final exes, otherwise VS
 default will be used. (Note - This option should only be
 used by MySQL AB.)
WITH_EMBEDDED_SERVER            Configure solution to produce libmysqld.dll
 and the static mysqlserver.lib 
 
因此,该命令行可以是如下所示。
Cscript win/configure.js WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
运行结果应该与如下结果类似:
Microsoft (R) Windows Script Host Version X.X
Copyright (C) Microsoft Corporation XXXX-XXXX. All rights reserved.
 
done!
 
3. 创建VS解决方案,在MySQL源文件Win目录下有一些批处理:
build-vs71.bat VS2003
build-vs8.bat VS2005
build-vs8_x64.bat VS2005,编译出64bit MySQL
build-vs9.bat VS2008
build-vs9_x64.bat VS2008,编译出64bit MySQL
这些批处理内调用的是CMake,可以在命令行敲入CMake,查看CMake支持的VS版本。
这里我们用VS2008,目标运行平台为32bit,所以运行Win/build-vs9.bat。
运行后,在MySQL根目录生成了MySql.sln,用VS2008打开,可以看到有56个项目。
 
4. 编译:选择编译模式(如Release),然后编译。编译过程中会生成数千个警告,都是源文件编码引起的(也有可能是我的Windows当前区域选项为中国引起的),可忽略。
如果编译过程中提示error PRJ0019: A tool returned an error code from "Generating sql_yacc.h, sql_yacc.cc”, 基本是GNUWin32 Bison路径中有空格引起的。从output窗口可以看到详细的出错信息。
 
三. 测试、部署:
[这一步需要CygWin]在CygWin下,进入MySQL源文件的mysql-test目录可以执行个中test。如:$./mysql-test-run.pl --manual-debug alter_table等。
 
部署:按照下载的MySQL zip安装包组织好目录结构:
 
1. 准备my.ini文件:
新建一个my.ini文件,内容为:
[mysqld]
# MySQL目录
basedir=C:/mysql
# MySQL数据库存放的目录
datadir=C:/mysql/data
放Windows目录下。
 
2. 安装、启动MySQL服务。
mysqld install mysql
net start mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值