ubuntu eclipse CDT編譯mysql原始碼
前段時間學習mysql原始碼,趁現在有空將學習記錄記錄一下。第一步ubuntu16.04原始碼編譯安裝mysql。
參考網址:http://blog.csdn.net/lipipifighting/article/details/78374119
1。通過瀏覽器下載eclipse CDT是免安裝版,解壓
下載網址 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/oxygen/R/eclipse-inst-linux64.tar.gz開啟終端(ctrl+alt+t),在當前使用者的根目錄(預設該目錄的擁有者為當前使用者)中建立資料夾software,將eclipse解壓到software資料夾,並且重新命名為eclipse(資料夾)
mkdir ./software
cd ./下載
tar -zxvf ./eclip* ../software/
mv ../software/eclipse* ../software/eclipse
2。安裝jdk1.8,在資料夾中開啟software/eclipse資料夾,雙擊執行可執行檔案,建立工作空間
sudo apt-get install -y openjdk-8-jre-headless
3。將mysql原始碼包解壓到工作空間,建立make install時伺服器和客戶端的安裝目錄,cmake配置一下boost目錄
mkdir -p /home/lipipi/eclipse-workspace/software/mysql/data
tar -zxvf mysql-5.19.0.tar.gz -C /home/lipipi/eclipse-workspace/
cd /home/lipipi/eclipse-workspace/mysql*
cmake . -DWITH_DEBUG=on -DWITH_BOOST=/usr/local/boost -DCMAKE_INSTALL_PREFIX=/home/lipipi/eclipse-workspace/software/mysql -DMYSQL_DATADIR=/home/lipipi/eclipse-workspace/software/mysql/data
5。開啟終端
sudo -i進入root許可權
chown -R lipipi /home/lipipi
chmod -R 777 /usr/local/boost
確保/home/使用者目錄都是歸當前使用者所有
將boost目錄的許可權設定為任何人可讀可寫可執行
因為有些root許可權下的操作可能會有影響出現permission deny的錯誤
6。進入eclipse的解壓縮目錄,雙擊執行eclipse,在welcome頁面中找到這樣一條,或者file->import project(makefile project with existing code)
browse選擇原始碼mysql的原始碼目錄,設定toolchain為linux GCC,finish
右下角有個進度條,等待匯入,匯入完成之後,關閉welcome頁面
就能看到出現了一個project專案
右鍵開啟專案屬性頁,進行配置builder
不勾選use default build command
自己寫命令為make
應用
退出離開屬性頁
build project,等待make完成
再次配置屬性頁,build指令為make install
再次build project,等待make install完成
之後便能在/home/lipipi/eclipse-workspace/software/mysql目錄下看到各種建立好的檔案和資料夾
7。進入終端,同樣建立使用者組和建立使用者,初始化mysql伺服器
cd /home/lipipi/eclipse-workspace/software/mysql
groupadd mysql
useradd -g mysql mysql
passwd mysql
輸入mysql使用者的密碼:mysql
./bin/mysqld –initialize –user=mysql –basedir=/home/lipipi/eclipse-workspace/software/mysql –datadir=/home/lipipi/eclipse-workspace/software/mysql/data
將最後一行生成的密碼記錄下來
wpgpDeKIw2>I
8。啟動mysql伺服器,並且檢查狀態,啟動客戶端,修改密碼
./support-files/mysql.server start
./bin/mysql -uroot -p
set password=password(‘mysql’);
flush privileges;
資料庫初始化一次,在datadir中生成了相應的檔案和資料夾,下次重新make && make install之後,不需要重新初始化,直接使用新設定的密碼登入就可以啦
9。關閉mysql伺服器
./support-files/mysql.server stop
10。以上只是單純地測試一下編譯是否成功,順帶配置一下初始的資料庫,接下來是如何使用eclipse除錯
如何除錯
11。開啟終端
cd ./eclipse-workspace/software/mysql
./bin/mysql -uroot -pmysql
這裡直接輸密碼的明文,圖個方便
12。接下來就是eclipse的使用了