在win7 下編譯MySQL原始碼
MySQL是一款優秀的開源資料庫,在阿里、網易等各個網際網路公司中有著廣泛的應用。儘管各種NoSQL大行其道,但是關係型資料庫依然必不可少。
作為一個新手,在Win7下用原始碼安裝MySql資料庫並不容易。我自己都折騰了好幾天。今天把安裝過程記錄下來,其一是為了方便自己以後學習,其二則是分享過程,讓學習者能夠從我這篇文章中受益。
1.編譯環境及×××
編譯環境:VisualStudio2010(Win732位)
編譯工具:
bison-2.4.1-setup.exe
下載地址:http://nchc.dl.sourceforge.net/project/gnuwin32/bison/2.4.1/bison-2.4.1-setup.exe
安裝位置:D:\GnuWin32
cmake-3.0.0-win32-x86.exe
下載地址:http://www.cmake.org/files/v3.0/cmake-3.0.0-win32-x86.exe
安裝位置:D:\CMake
MySQL原始碼:mysql-5.5.31.zip
下載地址:http://downloads.skysql.com/archives/mysql-5.5/mysql-5.5.31.zip
注意:cmake和bison的安裝路徑不要有空格,並且把cmake和bison都加到環境變數path下,cmake在安裝的時候有選擇項,bison需要手動新增。
2.編譯MySQL原始碼
把MySQL原始碼解壓到D:\mysql-source
第一步:在上圖的目錄中開啟命令列視窗,並輸入如下的命令:
這就是用cmake生成vs2010的解決方案,其中的“.”表示當前目錄。
第二步:用記事本把D:\mysql-source\mysql-5.5.31\sql\sql_locale.cc另存為utf8格式。
第三步:把原始碼工程匯入到VS2010中。【檔案】->【開啟】->【專案/解決方案】,選擇D:\mysql-source\mysql-5.5.31\MySQL.sln檔案,確定即可。匯入後的截圖如下:
第四步:編譯mysqld。到mysqld專案,然後【滑鼠右鍵】->【生成】即可,如果出錯,再編譯一次;如果再次出錯,請檢查你的cmake和bison的安裝及環境變數設定。
最後在D:\mysql-source\mysql-5.5.31\sql\Debug目錄下生成mysqld.exe,則表示編譯成功。
編譯後,可以試著執行一下,轉到D:\mysql-source\mysql-5.5.31\sql\Debug目錄,開啟命令列工具,並輸入如下的命令:mysqld.exe--debug--standalone
看到一個斷言錯誤,並標註了原始碼檔案及行號:mysqld.cc line4233,那麼我們定位到原始碼:
並把該行程式碼註釋掉。並重新編譯mysqld工程。再次執行剛才的命令,沒有報錯。
第五步:驗證程式
為了證明編譯的mysqld.exe能夠正常工程,下載mysql免安裝版mysql-5.5.31-win32zip,下載地址為:http://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.31-win32.zip解壓到D:\MySql\official-mysql目錄後,用自己編譯好的mysqld.exe替換D:\MySql\official-mysql\bin\mysqld.exe。然後在命令列執行mysqld.exe,啟動服務端程式。
然後再開啟一個命令列視窗,輸入mysql-uroot-p,由於沒有設定密碼,輸入密碼處直接回車,連線到資料庫。
最後,別忘記在命令列視窗輸入:mysqladmin.exe-urootshutdown命令來關閉mysql服務。
轉載於:https://blog.51cto.com/sbp810050504/1429838