1)OS:win10 + VS2013html
2)mysql 源碼(windows版):mysql-5.6.25.zip mysql
3)perl tool:ActivePerl-5.16.3.1604-MSWin32-x64-298023.msisql
4)Cmake:cmake-3.5.0-win32-x86 .exe數據庫
5)Bison:bison-2.4.1-setup.exewindows
軟件列表:bash
安裝須要注意的幾點,通常安裝在根目錄下,如C:\Cmake C:\GnuWin32 C:\Perl64 ,固然也能夠是其餘目錄,通常路徑不要出現中文字符,空格及特殊字符。函數
Perl, Cmake, Bison安裝完事以後,將他們安裝目錄下的bin所在路徑加入環境變量中(windows環境變量添加),如C:\Cmake\bin。工具
保險起見咱們須要驗證一下安裝是否成功:ui
在任意你喜歡的盤裏面建立一個用於安裝的目錄:如在D盤建立mysql而後將mysql-5.6.25.zip 解壓到該目錄下,而後在cmd中切換到安裝目錄,此處即爲D:\mysql\mysql-5.6.25,記({install}=D:\mysql\mysql-5.6.25),其下包含以下文件目錄:spa
而後在{install}下執行如下命令:
>mkdir bld >cd bld >cmake ..
這樣你可看到相似以下的輸出:
有一些錯誤,目前也沒有解決,但其實這並不影響咱們生成VS下MySQL.sln 工程文件。事實上只要看到下面這個就能夠了,各類not found也沒關係。若是採用Cmake 圖形界面,其實也差很少了。這裏再也不贅述。
下一步咱們就能夠在VS2013build solution了(對應生成解決方案),但爲了儘量減小警告或錯誤,咱們首先須要對下述文件進行修改:
源碼目錄\strings\ctype-czech.c
源碼目錄\strings\ctype-latin1.c
源碼目錄\strings\decimal.c
源碼目錄\mysys\thr_mutex.c
源碼目錄\storage\innobase\include\ut0mem.h
源碼目錄\sql\sql_locale.cc
修改的方法很簡單,就是將這些文件以UTF-8(帶BOM頭的)格式保存。通常使用Nodepad++工具等。
最後一步就是找到{install}\mysql-5.6.25\sql\mysqld.cc中的test_lc_time_sz()函數,將其中的DBUG_ASSERT(0)改成DBUG_ASSERT(1)便可。
至此咱們就完成了將源碼轉換成VS中工程文件的目的。以後咱們就能夠build solution了。若是沒有錯誤說明就已經沒有問題了,一些小的警告多是由於C++編譯器比C編譯器嚴格的緣故。下一步咱們開始調試。
而後將mysqld工程的Debug的:屬性->調試->命令參數,設爲--console --defaults-extra-file=C:\Windows\my.ini以下:
而後啓動實例
能夠打斷點,進入程序跟蹤調試。
也能夠在程序生成的目錄下,在命令行狀態下運行,進入調試生成目錄:
mysqld --debug --standalone
運行調試客戶端
1).mysql默認查找配置文件的路徑:程序首先會分別收集windows系統目錄、C:\根目錄、執行碼所在的父目錄,若是配置了環境變量MYSQL_HOME,這個目錄也會被蒐集,而後在這些目錄下進行查找my.ini文件
在c盤的根目錄下放了一個默認的windows下的my.ini文件
基目錄爲e:\mysql,數據目錄爲e:\mysql\data
2).mysql的基目錄和數據目錄,數據目錄要有mysql基本的系統數據庫文件
參考資料:
1.Win7+VS2010:mysql源碼編譯與調試
http://www.2cto.com/database/201407/316681.html
2.Windows+VS2012環境下編譯調試MySQL源碼
http://www.voidcn.com/blog/a809146548/article/p-4851777.html