Windows下编译MySQL

来源:互联网 发布:sai手绘软件 编辑:程序博客网 时间:2024/06/03 02:26

在WINODWS上搞了好多天MYSQL终于把源码编译通过了,遇到了很多错误,在这里和大家分享一下

一. 环境准备:

1. 获取MySQL最新源码:当前版本为5.1.44:http://dev.mysql.com/downloads/mysql/ (Windows (x86, 32-bit), ZIP Archive) 这里不要下载错了,下载错了会编译不过
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版本。 这里要跟你现在机器上安装的VS一样,我之前用VS2010命令生成.sln文件各种报错
3. 安装CMake(Windows版本),下载地址:http://www.cmake.org/cmake/resources/software.html, 旧版本可能不支持生成VS2008解决方案,推荐用最新版本。
注意:安装路径最好为英文,并且不要有空格。安装后将bin路径添加到系统环境变量,我在这上面吃亏了,比如C:\Program Files (x86)有空格
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.因此,该命令行可以是如下所示。
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.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个项目。

微笑恭喜你,编译成功

三. 测试、部署:
[这一步需要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
原创粉丝点击