Windows下編譯MySQL數據庫是如何實現的呢?本文我們就來介紹這一部分內容,首先我們來看一看它的編譯環境。
一.環境准備:
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://om/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en
這裡用的是VS2008 Dev版本。
3.安裝CMake(Windows版本),下載地址:http://www.3gos.info/gongsi/564.html,舊版本可能不扶持生成VS2008處理計劃,推撥取最新版本。
4. 安裝GNUWin32 Bison,下載地址為:http://gnuwin32.sourceforge.net/packages/bison.htm,同樣安裝路徑良好為英文,並且不要有空格。安裝後將bin路徑增加到系統環境變量。
5. 安裝CygWin,下載地址為:http://om/setup.exe, 抉擇模塊時要選上Perl and Python模塊。
二.編譯源代碼:
1. 源碼目錄中sql/sql_locale.cc文件包括各地本地化語言,默認用的UTF-8 without BOM編碼。
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=<http://www.independence-mo.info/guanyuwomen/628.html;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 http://www.my9ti.info/jiaru/556.html"Generating sql_yacc.h, sql_yacc.cc”, 大約是GNUWin32 Bison路徑中有空格引起的。從output窗口能夠看到翔實的出錯消息。
關於Windows下編譯MySQL數據庫的過程就介紹到這裡了,希望本次的介紹能夠對您有所收獲!