下載代碼:
下載mysql源代碼
http://dev.mysql.com/downloads/mirrors.html
源代碼壓縮包類似這樣:mysql-XXX-XXX.XXX
解壓縮文件:
根據壓縮文件格式不同,需要用tar,zip, bz2等程序解壓縮
編譯和安裝:
mysql源代碼使用cmake構建,所以需要安裝cmake
構建mysql需要 flex(詞法分析) ,bison(語法分析)兩個程序
cd mysql-XXX-XXX.XXX
創建一個構建目錄(非必須,可以直接在源代碼目錄構建)
點擊(此處)折疊或打開
mkdir build-mysql
mysql編譯選項的完整說明
http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
我們這里指定3個編譯參數,其它為黙認
1)cmake_build_type, 構建類型為debug,方便調試
2)cmake_install_prefix, 程序安裝目錄
3)mysql_data_dir.數據庫黙認目錄
mysql工程還有許多編譯時參數,比如指定默認TCP端口號等
點擊(此處)折疊或打開
cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=[MYSQL_HOME] MYSQL_DATADIR=[MYSQL_DATA_DIR] ..
執行make
點擊(此處)折疊或打開
make
安裝
點擊(此處)折疊或打開
make install
如果安裝成功,那么[MYSQL_HOME]下面就會生成以下文件:
bin
COPYING
data
docs
include
INSTALL-BINARY
lib
man
my.cnf
mysql-test
README
scripts
share
sql-bench
support-files
bin目錄下是mysql可執行程序,包括mysql服務器客戶端和一些工具程序
data目錄是存儲數據庫文件的目錄
lib里面是鏈接庫
include目錄下是一些頭文件,用于mysql向外部提供接口
script目錄下是用于數據庫初始化的腳本
初始化數據庫文件:
cd [MYSQL_HOME]
(如果不在[MYSQL_HOME]這個目錄中執行,要指定--basedir選項)
點擊(此處)折疊或打開
./scripts/mysql_install_db --datadir=[MYSQL_DATA_DIR]
啟動mysql server:(如果編譯是正確配置了datadir,可以不加datadir參數)
點擊(此處)折疊或打開
./bin/mysqld --datadir=[MYSQL_DATA_DIR]
gdb調試mysql
點擊(此處)折疊或打開
gdb bin/mysqld
接下來就可以調試代碼了
以上僅是創建一個可以調試跟蹤代碼的環境,方便分析源代碼
并不是從源代碼安裝mysql的方法,詳細的安裝文檔請參考mysql網站
原文轉自:http://blog.chinaunix.net/uid-29128384-id-3855472.html