Windows下編譯MySQL數(shù)據(jù)庫的過程詳解
Windows下編譯MySQL數(shù)據(jù)庫是如何實(shí)現(xiàn)的呢?本文我們就來介紹這一部分內(nèi)容,首先我們來看一看它的編譯環(huán)境。
一.環(huán)境準(zhǔn)備:
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處理計(jì)劃,推撥取***版本。
4. 安裝GNUWin32 Bison,下載地址為:http://gnuwin32.sourceforge.net/packages/bison.htm,同樣安裝路徑良好為英文,并且不要有空格。安裝后將bin路徑增加到系統(tǒng)環(huán)境變量。
5. 安裝CygWin,下載地址為:http://om/setup.exe, 抉擇模塊時(shí)要選上Perl and Python模塊。
二.編譯源代碼:
1. 源碼目錄中sql/sql_locale.cc文件包括各地本地化語言,默認(rèn)用的UTF-8 without BOM編碼。
2. 扼制臺進(jìn)去MySQL根目錄,運(yùn)行Win/configure.js腳本,腳本的參數(shù)為:
- 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
運(yùn)行收獲該當(dāng)與如下收獲相仿:
- >Microsoft (R) Windows Script Host Version X.X
- Copyright (C) Microsoft Corporation XXXX-XXXX. All rights reserved.
- done!
3. 創(chuàng)立VS處理計(jì)劃,在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
這些批處理內(nèi)調(diào)用的是CMake,能夠在號召行敲入CMake,察看CMake扶持的VS版本。
這里我們用VS2008,目標(biāo)運(yùn)行平臺為32bit,因而運(yùn)行Win/build-vs9.bat。
運(yùn)行后,在MySQL根目錄生成了MySql.sln,用VS2008敞開,能夠看到有56個項(xiàng)目。
4. 編譯:抉擇編譯形式(如Release),然后編譯。編譯過程中會生成數(shù)千個警告,都是源文件編碼引起的(也有可能是我的Windows目前區(qū)域選項(xiàng)為中國引起的),可疏忽。
萬一編譯過程中提醒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窗口能夠看到翔實(shí)的出錯消息。
關(guān)于Windows下編譯MySQL數(shù)據(jù)庫的過程就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
- MySQL 5.5 分區(qū)之多列分區(qū)詳解
- MySQL 5.5 分區(qū)之truncate分區(qū)詳解
- MySQL 5.5 分區(qū)之非整數(shù)列分區(qū)詳解
- MySQL數(shù)據(jù)庫MVCC多版本并發(fā)控制簡介
- MySQL 5.5 分區(qū)之高級分區(qū)實(shí)例及性能分析


2010-10-20 09:41:37




