導航:首頁 > 源碼編譯 > mysql編譯

mysql編譯

發布時間:2022-01-25 18:06:54

1. 編譯環境cmake+gcc怎麼編譯mysql源碼

方法/步驟

1
在安裝mysql資料庫伺服器前,確保你的linux系統是可以連接網路的,下面我們將通過源碼方式來安裝mysql首先通過putty登入進你的Linux系統,確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:yum -y install make gcc-c++ cmake bison-devel ncurses-devel

2
查找系統里是否已經安裝了mysql資料庫的相關組件,使用命令:rpm -qa | grep mysql 進行查找,如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
如果你當時在安裝Linux系統時,使用的默認的安裝選項,這一步可以跳過;

2. 編譯好的mysql可以直接異機使用么

首先你要分清楚,JAVA和mysql的關系。JAVA和mysql之間除了在代碼上有連接外,JAVA本身並沒有會包含mysql,所以說只你的代碼編譯完成後,如果軟體有帶mysql,能連接沒問題就可以。
關於寫插件,你要分清楚你要括展的軟體是否支持插件括展,像eclipse就是典型的支支插件括展的軟體。
總結來說,你要給軟體寫插件,你連要給寫插件的軟體有沒有資料庫都搞不清楚怎麼玩。有資料庫你也得有帳號密碼能連得上。

3. mysql為什麼改用cmake編譯

通過頁面底部的按鈕,我們可以創建更多資料庫,刪除現有資料庫,或更改現有資料庫的配置。例如在選中一個現有資料庫,並點擊底部的「編輯」按鈕後,即可修改可訪問該資料庫的用戶帳戶的訪問許可權。

4. mysql現在都是不用編譯安裝的了

綠色版的下載可以直接用

5. linux下c語言操作MYSQL編譯報錯

#include<mysql/mysql.h>
#include<stdio.h>
#include<stdlib.h>

#define HOST "localhost"
#define USERNAME "用戶名"
#define PASSWORD "密碼"
#define DATABASE "指定的資料庫"
#define SQL_QUERY "SELECT*FROM表名"

intmain(void)
{
MYSQLmysql;
MYSQL_ROWrow;
MYSQL_RES*result;
unsignedintnum_fields;
unsignedinti;

mysql_init(&mysql);
if(!mysql_real_connect(&mysql,HOST,USERNAME,PASSWORD,DATABASE,0,NULL,0))
{
printf("Connectionfailed,%s ",mysql_error(&mysql));
}
mysql_query(&mysql,"setnamesutf8");
if(!mysql_query(&mysql,SQL_QUERY))
{
result=mysql_store_result(&mysql);
if(!result)
{
perror("resulterror.");
exit(1);
}
num_fields=mysql_num_fields(result);
while(row=mysql_fetch_row(result))
{
for(i=0;i<num_fields;i++)
{
printf("%s ",row[i]);
}
printf(" ");
}
mysql_free_result(result);
}
mysql_close(&mysql);
return0;
}

編譯命令:

gcc -o mysql_test mysql_test.c -lmysqlclient

運行命令:

./mysql_test

6. mysql為什麼要用cmake編譯

設置LINUX自動匹配環境變數

1.$su #su進入root
#vi /etc/profile
在文件末尾加上下列語句:
PATH=$PATH:/sbin #在PATH變數後追加/sbin目錄
export PATH=$PATH:/sbin #設置變數為全局的
保存並退出。
退出root並在終端運行
$source /etc/profile #該命令的作用是重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登好了在終端中輸入ifconfig 創建用戶和組

groupadd mysql // 建一個msyql的用戶和組
useradd -g mysql mysql -s /usr/sbin/nologin
mkdir /usr/local/mysql // 創建目錄
mkdir /usr/local/mysql/data // 數據倉庫目錄

安裝mysql

tar -zxvf mysql-5.5.14.tar.gz
cd mysql-5.5.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

PS: cmake的時候,參數可以不用那麼多,只要一個-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就行了,我們可以在 my.cnf裡面配置。[mysqld]中的內容,看看你後的my.cnf有沒有這些設置,有就不用了在設置了。

make && make install
如果需要更改配置,則:
make clean
rm -f CMakeCache.txt

復制配置文件

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

設置許可權

chmod +x /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

配置開機自啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --list
//update-rc.d mysql defaults (/sbin/chkconfig --add mysql ; /sbin/chkconfig mysql on)
chkconfig --add mysql
chkconfig mysql on
chkconfig --list mysql

修改my.cnf配置

gedit /usr/local/mysql/my.cnf
[mysqld] 添加:
datadir=/usr/local/mysql/data
default-storage-engine=MyISAM
以下可選:
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp

安裝默認數據表

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

啟動MySQL

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
最後的「&」表示在後台運行,或者使用 /etc/init.d/mysql start (service mysql start)啟動

設置MYSQL命令行路徑
mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,系統在/usr/bin下面查此命令
解決辦法是: ln -s /usr/local/mysql/bin/mysql /usr/bin

測試MySQL是否啟動

1)查看是否有進程mysql
ps -ef | grep mysql

2)查看埠是否運行
netstat -tnl | grep 3306

3)讀取mysql版本信息
/usr/local/mysql/bin/mysqladmin version

至此,MySQL安裝完成。

三、錯誤解決
1.libstdc++.so依賴問題:使用命令yum install gcc

7. 如何編譯 mysql的存儲過程

簡單的說,就是一組SQL語句集,功能強大,可以實現一些比較復雜的邏輯功能,類似於JAVA語言中的方法;
ps:存儲過程跟觸發器有點類似,都是一組SQL集,但是存儲過程是主動調用的,且功能比觸發器更加強大,觸發器是某件事觸發後自動調用;

8. 如何在Windows下編譯或調試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

9. 如何使用自己編譯的Mysql文件

建議你到csdn論壇去發帖,這里大部分都是搜索,復制,和粘貼高手。

閱讀全文

與mysql編譯相關的資料

熱點內容
myeclipse命令行 瀏覽:126
小謝解壓 瀏覽:139
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45