導航:首頁 > 源碼編譯 > mysql的編譯方法

mysql的編譯方法

發布時間:2022-07-31 11:37:05

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

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

B. 如何在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

C. mysql 5.5如何編譯

首先安裝cmake、gcc
然後~~~
1、解壓mysql文件,tar xf mysql-5.1.51.tar.gz2、cd mysql-5.1.513、#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.1 //這個就是你指定的安裝mysql的位置-DMYSQL_DATADIR=/usr/local/mysql5.6/data -DSYSCONFDIR=/usr/local/mysql5.6/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock #make #make install

D. 編譯環境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系統時,使用的默認的安裝選項,這一步可以跳過;

E. centos7最小化安裝,怎麼編譯安裝mysql

不同linux版本,安裝不同版本的mysql方法各不相同,下面以CentOS 6.5編譯安裝MySQL 5.6.16介紹:

一.准備工作
1.yum安裝各個依賴包
[root@WebServer ~]# yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip
2.新建mysql組和用戶
[root@WebServer ~]# groupadd mysql
[root@WebServer ~]# useradd -g mysql -s /sbin/nologin mysql
3.目錄准備
[root@WebServer ~]# mkdir -p /webserver/mysql/etc
[root@WebServer ~]# mkdir -p /webserver/mysql/data
[root@WebServer ~]# mkdir -p /webserver/mysql/tmp
[root@WebServer ~]# chown -R mysql.mysql /webserver/mysql
4.解壓MySQL並進入安裝目錄
[root@WebServer ~]# tar zxvf mysql-5.6.16.tar.gz
[root@WebServer ~]# cd mysql-5.6.16
二.編譯並安裝
1.編譯MySQL
[root@WebServer mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/webserver/mysql \
> -DSYSCONFDIR=/webserver/mysql/etc \
> -DMYSQL_DATADIR=/webserver/mysql/data \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/webserver/mysql/tmp/mysqld.sock \
> -DMYSQL_USER=mysql \
> -DEXTRA_CHARSETS=all \
> -DWITH_READLINE=1 \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DENABLE_DOWNLOADS=1
2.如果出現以下錯誤

則需要
[root@WebServer mysql-5.6.16]# cd source_downloads/
[root@WebServer source_downloads]# unzip gmock-1.6.0.zip
[root@WebServer source_downloads]# ./configure
[root@WebServer source_downloads]# make
[root@WebServer source_downloads]# cd ..
然後刪除mysql-5.6.16目錄下的CMakeCache.txt重新使用cmake進行編譯安裝
2.安裝
[root@WebServer mysql-5.6.16]# make && make install
編譯過程會比較漫長,編譯時間取決於機器的性能
三.MySQL配置
1.客戶端庫文件的鏈接(未執行此步驟的話,在PHP編譯時會提示找不到MySQL文件)
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
ps:我使用的是64位CentOS,如果使用的是32位請使用ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

2.MySQL啟動文件的配置
[root@WebServer mysql-5.6.16]# cp support-files/mysql.server /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# chmod +x /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# vim /etc/init.d/mysqld
basedir=/webserver/mysql
datadir=/webserver/mysql/data
//修改以上這2行的路徑即可
3.設置MySQL配置文件
[root@WebServer mysql-5.6.16]# cp support-files/my-default.cnf /webserver/mysql/etc/my.cnf
[root@WebServer mysql-5.6.16]# rm -rf /etc/my.cnf
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/etc/my.cnf /etc/my.cnf
4.初始化資料庫
[root@WebServer mysql-5.6.16]# cd /webserver/mysql
[root@WebServer mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/webserver/mysql --datadir=/webserver/mysql/data
5.鏈接MySQL命令(這一步可以讓我們方便很多,可以不用寫出命令的路徑,也可以寫入/etc/profile的PATH中)
[root@WebServer ~]# cd /usr/sbin
[root@WebServer sbin]# ln -s /webserver/mysql/bin/* .
6.啟動MySQL並設置為開機啟動
[root@WebServer sbin]# service mysqld start ;chkconfig mysqld on
Starting MySQL.. SUCCESS!
7.設置MySQL root用戶的密碼
[root@WebServer ~]# mysqladmin -u root password 123456
這里將MySQL的root密碼設置為123456,強烈不建議將資料庫的密碼設的簡單
8.刪除用戶密碼為空的用戶
[root@WebServer ~]# mysql -u root -p
Enter password:
mysql> use mysql;
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
| webserver | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| webserver | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
mysql> delete from user where password="";
Query OK, 5 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)
mysql> exit;
完畢。

F. cmake怎樣編譯安裝mysql

用cmake的應該是mysql5.5的版本,之前都是用make的。我安裝的使用應該沒有使用過.(點)。linux下作為參數傳遞給命令的.(點)一般代表當前目錄

G. mysql怎麼編譯

這問題提的

H. 目前最新版的mysql在Linux下源碼編譯安裝的方法。具體參數的含義一並說明

有話好說,以下是CentOS Linux 5的配置經驗:
添加mysql帳號
groupadd mysql
useradd -r -g mysql mysql
編譯必需先安裝
cmake-2.8.4 和 bison-2.4.3
安裝成功後解壓mysql-5.5.15.tar.gz:
在源碼根目錄打開終端輸入以下配置參數並回車
cmake -DCMAKE_INSTALL_PREFIX=/etc/mysql \
-DMYSQL_UNIX_ADDR=/etc/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql

成功執行以下命令後在最後會見到 (/root/Desktop/是你的源碼目錄,視你的情況定)
-- Build files have been written to: /root/Desktop/mysql-5.5.15

運行make安裝:
make
make install
以下步驟就不一一解說了:
cd /mysql/mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cp ./support-files/my-small.cnf ./my.cnf
cp support-files/mysql.server mysql; chmod +x mysql
chown -R mysql:root .
./mysql start
./bin/mysqladmin -u root -p 123456

添加開機啟動服務
chkconfig --add mysql
chkconfig mysql on
service mysql start

順利的話到這里完成了,祝你成功。

I. linux怎麼編譯安裝mysql

不同linux版本,安裝不同版本的mysql方法各不相同,下面以CentOS 6.5編譯安裝MySQL 5.6.16介紹:

一.准備工作
1.yum安裝各個依賴包
[root@WebServer ~]# yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip
2.新建mysql組和用戶
[root@WebServer ~]# groupadd mysql
[root@WebServer ~]# useradd -g mysql -s /sbin/nologin mysql
3.目錄准備
[root@WebServer ~]# mkdir -p /webserver/mysql/etc
[root@WebServer ~]# mkdir -p /webserver/mysql/data
[root@WebServer ~]# mkdir -p /webserver/mysql/tmp
[root@WebServer ~]# chown -R mysql.mysql /webserver/mysql
4.解壓MySQL並進入安裝目錄
[root@WebServer ~]# tar zxvf mysql-5.6.16.tar.gz
[root@WebServer ~]# cd mysql-5.6.16
二.編譯並安裝
1.編譯MySQL
[root@WebServer mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/webserver/mysql \
> -DSYSCONFDIR=/webserver/mysql/etc \
> -DMYSQL_DATADIR=/webserver/mysql/data \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/webserver/mysql/tmp/mysqld.sock \
> -DMYSQL_USER=mysql \
> -DEXTRA_CHARSETS=all \
> -DWITH_READLINE=1 \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DENABLE_DOWNLOADS=1
2.如果出現以下錯誤

則需要
[root@WebServer mysql-5.6.16]# cd source_downloads/
[root@WebServer source_downloads]# unzip gmock-1.6.0.zip
[root@WebServer source_downloads]# ./configure
[root@WebServer source_downloads]# make
[root@WebServer source_downloads]# cd ..
然後刪除mysql-5.6.16目錄下的CMakeCache.txt重新使用cmake進行編譯安裝
2.安裝
[root@WebServer mysql-5.6.16]# make && make install
編譯過程會比較漫長,編譯時間取決於機器的性能
三.MySQL配置
1.客戶端庫文件的鏈接(未執行此步驟的話,在PHP編譯時會提示找不到MySQL文件)
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
ps:我使用的是64位CentOS,如果使用的是32位請使用ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

2.MySQL啟動文件的配置
[root@WebServer mysql-5.6.16]# cp support-files/mysql.server /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# chmod +x /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# vim /etc/init.d/mysqld
basedir=/webserver/mysql
datadir=/webserver/mysql/data
//修改以上這2行的路徑即可
3.設置MySQL配置文件
[root@WebServer mysql-5.6.16]# cp support-files/my-default.cnf /webserver/mysql/etc/my.cnf
[root@WebServer mysql-5.6.16]# rm -rf /etc/my.cnf
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/etc/my.cnf /etc/my.cnf
4.初始化資料庫
[root@WebServer mysql-5.6.16]# cd /webserver/mysql
[root@WebServer mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/webserver/mysql --datadir=/webserver/mysql/data
5.鏈接MySQL命令(這一步可以讓我們方便很多,可以不用寫出命令的路徑,也可以寫入/etc/profile的PATH中)
[root@WebServer ~]# cd /usr/sbin
[root@WebServer sbin]# ln -s /webserver/mysql/bin/* .
6.啟動MySQL並設置為開機啟動
[root@WebServer sbin]# service mysqld start ;chkconfig mysqld on
Starting MySQL.. SUCCESS!
7.設置MySQL root用戶的密碼
[root@WebServer ~]# mysqladmin -u root password 123456
這里將MySQL的root密碼設置為123456,強烈不建議將資料庫的密碼設的簡單
8.刪除用戶密碼為空的用戶
[root@WebServer ~]# mysql -u root -p
Enter password:
mysql> use mysql;
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
| webserver | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| webserver | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
mysql> delete from user where password="";
Query OK, 5 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)
mysql> exit;
完畢。

閱讀全文

與mysql的編譯方法相關的資料

熱點內容
價格便宜的雲伺服器 瀏覽:551
寶馬n52電腦怎麼編程 瀏覽:350
安卓平板android如何降級 瀏覽:124
蘋果怎麼下載整理文字軟體app 瀏覽:130
怎麼刪除一個app下載任務 瀏覽:713
python執行bat命令 瀏覽:471
什麼吉他調音器app最好 瀏覽:33
php程序員招聘試題 瀏覽:14
程序員升職記第九關最優解 瀏覽:317
三星安卓11怎麼訪問data文件夾 瀏覽:817
華三伺服器怎麼設置開機自啟 瀏覽:711
釘郵登錄伺服器地址 瀏覽:644
起源編譯器適配第二款應用 瀏覽:433
cad弄斷線條命令 瀏覽:463
怎麼恢復手機app的安裝包 瀏覽:300
idea重啟項目不編譯 瀏覽:495
程序員那麼可愛演員表陸漓媽媽 瀏覽:127
linuxgadget驅動 瀏覽:594
華三調用acl的命令 瀏覽:9
資金流pdf 瀏覽:931