Windows下编译MySQL

    xiaoxiao2021-03-25  78

    Windows下编译MySQL

    标签: windowsmysqlmicrosoftserverarchive64bit   2154人阅读  评论(0)  收藏  举报   分类: 数据库(mysql)(30) 

    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

    转载请注明原文地址: https://ju.6miu.com/read-40204.html

    最新回复(0)