mysql源碼編譯安裝
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(簡稱VS Code)是由微軟開發的,同時支持Windows、linux和macOS操作系統的開源文本編輯器。它支持調試,內置了Git 版本控制功能,同時也具有開發環境功能,例如代碼補全(類似於IntelliSense)、代碼片段、代碼重構等。該編輯器支持用戶自定義配置,例如改變主題顏色、鍵盤快捷方式、編輯器屬性和其他參數,還支持擴展程序並在編輯器中內置了擴展程序管理的功能。
安裝LLDB
LLDB是LLVM編譯器的一部分,推薦使用Homebrew安裝LLVM工具集,不建議使用系統自帶的LLDB,安裝前必須先創建證書否則無法安裝,步驟如下:
創建完成後,開始安裝LLVM
brew install llvm --with-python@2--with-lldb
安裝插件
VS Code自帶有debug功能,這里我推薦使用LLDB Debugger插件。
接下來,為項目配置調試參數。
配置調試參數
使用VS Code打開MySQL源碼目錄,在側邊欄選擇debug欄目,添加配置,program輸入需要調試的程序路徑,這里選擇你編譯好的mysqld路徑,args輸入程序啟動所需的參數,通常會指定mysqld的配置文件。這樣就配置好了,是不是很簡單。
啟動調試
點擊啟動按鈕,啟動後如果沒有設置斷點會mysqld會正常啟動,如果觸發了斷點會如下圖顯示。
整個調試窗口基本分為六部分,所有的調試操作都在這里完成:
1:顯示變數信息
2:設置重點關注的變數
3:顯示調用棧信息
4:設置斷點信息,在代碼行號前也可以設置斷點
5:代碼顯示區域,上方是調試按鈕,包括 continue/stepover/step in/step out/restart/stop
6:調試終端輸入輸出區
斷點設置
在代碼行號前點擊即可在該行為設置斷點,也可以根據條件設置斷點。以設置ConditionalBreakpoint為例,當程序啟動後會按照你設置的條件表達式判斷是否觸發斷點。
Conditional Breakpoint這種方式用在目標變數達到某條件時觸發斷點,其餘則跳過繼續執行。比如:設置變數等於目標表名時觸發斷點,其餘表則跳過,相對函數名斷點省去很多手工跳過操作。
遠程調試
假如你想調試遠程Linux伺服器上的MySQL上面的方法就不合適了,這時需要遠程調試。lldb和gdb都支持遠程調試,這里以lldb為例。
需要先在遠程主機上安裝lldb,使用yum安裝,源地址在這里http://mirror.centos.org/centos/7/sclo/x86_64/rh
remote$ yum install -y llvm-toolset-7
安裝完成後,啟動lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server
接下來,在VS Code調試界面中新增配置項。
{
"type":"lldb",
"request":"attach",
"name":"Remote attach",
"program":"~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"<target_pid>",
"initCommands": [
"platform select remote-linux",
"platform connect connect://<remote_host>:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"
}
},
program:本機也要拷貝一份目標程序,載入
pid:填寫遠程主機的mysqld進程id
sourceMap:填寫mysqld編譯的代碼路徑與本機代碼庫路徑的映射,這樣調試時代碼才可以和程序關聯在一起看
注意:記得調試前將代碼切換到與目標程序版本一致的branch
『貳』 在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%左右。
『叄』 linux原碼編譯安裝怎麼登陸mysql
下面開始一步一步寫(非特別註明,都是用root用戶執行):
1 下載MariaDB源碼:https://downloads.mariadb.org/mariadb/10.0.14/,下載的文件:mariadb-10.0.14.tar.gz
2 安裝cmake:apt-get install cmake,ubuntu源上可能不是最新版本的cmake,但是可以用。如果想源碼安裝cmake可以參考搜索引擎。
3 有一些依賴包的安裝,不過我倒現在還沒搞清楚具體需要哪些,但是lio-dev這個是要裝的,其他的可以搜索。
4 解壓源碼包,我解壓好以後的路徑是:/root/mariadb-10.0.14/,進入路徑,輸入如下命令:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
這里需要根據你規劃好的路徑修改。
5 這個需要不算太長的時間,但是如果最後提示要你查看錯誤日誌的話,那一般是缺少依賴包,搜索相關錯誤裝好相關依賴即可。
6 如果出現錯誤,再次編譯的時候需要刪除CMakeCache文件。
7 不出現錯誤提示以後輸入:make,結束之後輸入make install。make需要花費比較長的時間,期間會提示很多warning,直接忽略即可。
8 上面步驟完成之後即完成了安裝,下面就可以初始化資料庫了。將/usr/mysql所有者修改為mysql。進入/usr/mysql/support_files,執行
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
修改/etc/my.cnf,添加如下語句:
tmpdir = /home/mysql/tmp/
basedir=/usr/mysql
datadir=/home/mysql/data
注意要建立相關目錄,並將所有者修改成mysql。
修改/etc/init.d/mysql,將basedir和datadir的值修改成規劃好的目錄。
9 進入/usr/mysql/script,執行下面的語句:
./mysql_install_db --user=mysql --basedir=/usr/mysql --datadir=/home/mysql/data
執行之後會提示很多,修改/etc/profile,添加PATH變數:export PATH=$PATH:/usr/mysql/bin
執行source /etc/profile
10 啟動mysql服務:service mysql start
11 執行:mysqladmin -u root password 'root'
12 這樣就裝好了mysql,su到mysql用戶,執行:mysql -uroot -proot即可進入mysql命令行。
該過程同樣適用於mysql,因為mariaDB本身和mysql沒有天翻地覆的區別。
『肆』 mysql 源碼編譯安裝,性能有多大提高
恐怕只有耐心等待更靠譜了。提升電腦配置不太現實。因為你很難確認你把哪一個部件替換更新掉,就能提高編譯安裝速度,還有具體的能提高多少?這些都難以具體量化。
『伍』 mysql源代碼編譯安裝錯誤,請高手指點
需要root許可權,。
su root
然後敲入密碼就行了。
『陸』 源碼編譯安裝mysql怎麼與php關聯
有php-mysql的擴展,裝一下
look
http://www.cleey.com/blog/single/id/745.html
『柒』 cmake怎樣編譯安裝mysql
用cmake的應該是mysql5.5的版本,之前都是用make的。我安裝的使用應該沒有使用過.(點)。linux下作為參數傳遞給命令的.(點)一般代表當前目錄
『捌』 如何源碼安裝mysql資料庫
這個可以這樣
比如解開源碼包, 得到一個文件夾ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是這個思路
『玖』 Mysql5.6.16安裝
1、解壓
2、配置環境變數(讓系統知道你的bin在哪個位置)path裡面設置到安裝目錄的bin目錄
4、在cmd中bin目錄底下執行mysqld -install(將mysql安裝為windows服務)
5、執行命令:net start mysql 或者windows管理工具->服務裡面找到MySql服務,並啟動
6、在命令行中運行mysql -uroot 進入資料庫。
7、修改密碼
輸入mysql回車
mysql> use mysql;
mysql> update user set password=password("123123") where user="root";
8、刷新許可權
mysql> flush privileges;
mysql> \q;退出
打開cmd你知道吧?
開始 -> 運行 --> 輸入cmd回車
『拾』 linux 如何編譯安裝mysql
使用binary進行安裝,文件名mysql-standard-5.0.18-linux-i686-glibc23.tar.gz
[1]將上述文件解壓到某處,並將MySQL所以目錄名改為mysql,結果應如/home/xxx/mysql
[2]根據mysql目錄下的INSTALL-BINARY文件來進行安裝
// 加用戶組mysql,以及用戶mysql;該命令無需修改
shell> groupadd mysql
shell> useradd -g mysql mysql
// 以下三步的主要目的是為MySQL解壓目錄做一個鏈接,放到usr/local目錄中
// 首先是進入/usr/local目錄;該命令無需修改
shell> cd /usr/local
// 這一步可以不需要,因為已經解壓了
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
// 做一個到/home/xxx/mysql的鏈接,放在/usr/local中,該鏈接的名字是mysql。
// 該命令修改為ln -s /home/xxx/mysql mysql
shell>
ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
// 進入/home/xxx/mysql目錄,/usr/local/mysql是到/home/xxx/mysql的鏈接
shell>
cd mysql
// 對MySQL進行初始化(如果以前已經安裝過MySQL,這一步可以簡略);該命令無需修改
shell> scripts/mysql_install_db --user=mysql
// 變更所有權;該命令無需修改
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
// 啟動MySQL伺服器;該命令無需要修改
shell> bin/mysqld_safe --user=mysql &
[3]進入MySQL應用環境
進入mysql目錄下的bin目錄,運行命令./mysql -u root
-p,此時將出現password:(要求輸入密碼),但默認情況下root用戶沒有密碼,所以回車即可。此時將進入MySQL界面,當然仍然只是個命令行窗口而以。
[4]簡單使用MySQL
在MySQL環境中運行命令show databases;,將會顯示已經有的資料庫(如test);運行命令use test,將進入test資料庫...
注意:如果在運行./mysql -u root -p之後,報
Can't connect to local MySQL server through socket '/tem/mysql.sock'
的錯誤,那麼可能有以下幾種情況:
[1]mysql.sock並不在/tmp目錄下,而是在其它某個目錄下(如,/var/lib/mysql目錄)。這時只需要將這個mysql.sock做鏈接到/tmp目錄下,運行命令:
ln -s MYSQL.SOCK_PATH /tmp/mysql.sock
[2]在同學的筆記本的Linux中,會在/tmp下生成mysql.sock,但重新啟動Linux後,該文件被刪除。這時也可以用情況2中的解決方法,或者每次都運行命令:./mysqld_safe --user=mysql &