導航:首頁 > 源碼編譯 > mysql系統編譯

mysql系統編譯

發布時間:2024-10-16 10:49:08

⑴ MySQL代碼如何在Windows環境下編譯_MySQL



寫這篇文章的目的只是告訴朋友們如何編譯MySQL代碼,或許有些人覺得從Windows平台編譯MySQL的代碼有些復雜,其實不然。如果您對本文中所提到的知識有任何疑問可以透過CSDN的MySQL板或者MySQL@CHINA支援論壇尋求幫助。這篇文章中所提到的東西沒有任何的創新性,只是對MySQL已有文檔的總結。

一、為什麼要編譯代碼

我不知道閱讀這篇文章的朋友你是否會注意MySQL手冊。MySQL在線手冊近期呈現一種“超越”趨勢,手冊中所描述的內容很大部分都是開發版本中才能找到的,我希望自己在閱讀的同時獲得試驗的機會。同時,我也和其他朋友一樣痛恨軟體中存在各種BUG,所以我要自己編譯代碼。當然,最開始我的初衷是希望藉助Intel C++重新編譯MySQL的代碼獲取更好的性能。

二、編譯代碼要如何准備

這一部分包含下列要點,請務必注意。

■ 編譯器

■ Cygwin

■ 內存

■ 耐心

編譯器,編譯MySQL代碼可以使用Cygwin下的GCC以及VC6.0,VC7.1。如果您使用Intel C++的話,我建議您配合VC6.0使用。不推薦使用VC 7.0的原因是其本身所存在的BUG(已經修復,但不公開提供),如果不裝補丁的話那麼會造成錯誤(關於inline優化可以暫時解決)。VC6.0請安裝SP4或SP5以及對應的處理器支持補丁包。

Cygwin,MySQL的代碼絕大部分是在linux編寫,所以很多實用工具以及配置腳本都是*nix風格,因此我們需要藉助Cygwin這一 Unix 模擬環境。安裝時請選擇上 autoconf automake gnu make libtool bison perl。另外一點,MySQL的開發使用bk進行管理,而bk的客戶端也需要藉助cygwin運行。如果只想編譯官方發布的Windows代碼,那麼可以不去關心這些。

內存,編譯MySQL代碼非常消耗時間,至少我是這么覺得。我建議有一個足夠大內存的機器,否則會讓你有種生不如死的感覺。

耐心,第一次編譯MySQL尤其是開發中的代碼難免會遇到各種各樣的麻煩,嘗試去克服它們。沒有人第一次就應該成功,假設連這些小問題都無法解決那麼談何閱讀代碼?所以,多少給自己點信心,也多少有些耐心。

三、獲取資源

除了編譯器、cygwin之外我們還需要准備bk的客戶端,可以下載回來。當准備妥當工具後我們訪問 mysql.bkbits.net ,在這里我們可以看到一個表格。這里的表格每一項目都對應著一個mysql的項目,我們關心的是名為 mysql-4.1的項目,這是目前的主要工作重點 MySQL 4.1.x 版本的開發樹。

獲取代碼:

shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

更新代碼:

shell> bk pull bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

通過上邊兩個命令,我們就可以得到並隨時同步開發中的MySQL4.1.x代碼,第一次下載的話整個過程很慢大約有100多M的東西需要下載,然後還要解壓縮然後合成代碼。mysql.bkbits.net 列出的其他項目分別是:



我們都可以使用同樣的方式獲取並隨時同步代碼。

四、產生Windows代碼

默認下載回來的代碼並不適合直接就用,把代碼到另外的目錄,然後使用BUILD目錄下的實用工具 compile-pentium-max 配置代碼,配置完成後使用 scripts 目錄下的實用工具make_win_src_distribution 產生一個適合Windows使用的代碼,這種方式得到的代碼如同官方下載所提供的代碼,最終成品是一個tar打包。執行這些實用工具,也就是shell 腳本需要在代碼樹的頂級目錄。

五、編譯代碼

當完成了上述工作之後編譯代碼應該是最為輕松的,直接用VC 6.0或者VC.NET 2003打開工程文件編譯就可以了。整個過程中並不需要其他的類庫進行輔助,也什麼難點。

最後,祝福各位好運。另外也是最重要的。通過本文所述方式獲得的MySQL代碼遵循GPL協議,關於GPL的詳細信息請自行查閱。


⑵ 在linux安裝MySQL時採用源碼編譯安裝,但是如何讓MySQL的編譯時間縮短呢

可以試試在使用make && make install 時添加-j參數,不限制內核進行編譯安裝。或者-j 後加內核數 。例如 make -j 4 && make install -j 4
優點:速度快會相對提高很多
缺點:消耗大量CPU,內存資源。
我做過一個測試,如果不限定內核 (16核 80GB內存 )的伺服器編譯安裝mysql 5.0.7 安裝時長大致在10分鍾左右,但是測試時伺服器CPU跑滿100% ,內存消耗至少32GB。直接使用 make && make install 安裝耗時45分鍾,內存4GB ,CPU 10%左右。

閱讀全文

與mysql系統編譯相關的資料

熱點內容
java編程的三個步驟 瀏覽:770
s點b點主圖源碼 瀏覽:434
電腦可以刪除的臨時文件夾 瀏覽:7
小杜app上怎麼啟用 瀏覽:305
為什麼伺服器喇叭喊了一次就不行 瀏覽:480
phpdbo驅動 瀏覽:255
程序員尋找轉行建議 瀏覽:632
psgrepjava 瀏覽:415
夢幻誅仙12職業變態源碼 瀏覽:370
汽車的控制是怎麼編程的 瀏覽:686
穩定的ip地址伺服器 瀏覽:641
python多線程編程教程 瀏覽:252
筆記本編程電腦排行榜 瀏覽:32
微信好友緩存文件在哪個文件夾 瀏覽:614
javafloat小數點後兩位小數 瀏覽:166
澳門pdf 瀏覽:409
es解壓文件默認路徑 瀏覽:833
jar命令war包 瀏覽:121
福州交警app預約在哪裡簽字確認 瀏覽:623
android各版本sdk異同 瀏覽:726