抓住這五點坯屿,MYSQL編譯安裝再也不求人

首先,如果你學(xué)MySQL只是玩玩讶迁,或者只是自用。那么MySQL編譯你就不需要了解了核蘸。

因為搭建一個yum倉庫巍糯,簡單的yum install **** 安裝mysql就可以滿足你所有的需求。

什么人需要看下一這篇文章:

  1. 想成為技術(shù)管理者客扎,重建MySQL數(shù)據(jù)庫信心祟峦,希望你的數(shù)據(jù)庫有技術(shù)體系建設(shè)。

  2. 以后的目標是架構(gòu)師徙鱼,想為以后的MySQL Replication宅楞、Semi-Sync Replication、Group Replication打基礎(chǔ)袱吆。

  3. 終極目標是開發(fā)厌衙,需要理解MySQL原理、優(yōu)勢杆故、劣勢迅箩?

在Linux下的編譯與調(diào)試,通常不用GUI工具处铛,操作起來更簡單直接饲趋,編譯過程中,依賴一些包及工具撤蟆,需要先準備好奕塑。

主要包括如下5個:

  1. cmake-2.8.12.2 ,在 Centos 上面 家肯,可以通過 yum install cmake 來安裝 龄砰,如果安裝源沒有 , 就自行下載源碼來安裝 ,過程比較簡單 换棚。

  2. bison-2.4.1 式镐,同樣可以使用 yum install bison 來安裝 ,如果找不到的話 固蚤,可以自行http:/ / gnuwin32.sourceforge.net/packages/bison.htm 下 載編譯安裝娘汞。

  3. libaio-devel ,在 Centos 下面 夕玩,可以直接通過命令 yum install libaio-devel.x86_64 安裝你弦。

  4. boost_ l_59_0.tar.gz ,從 MySQL 官網(wǎng)就可以下載 燎孟,和 MySQL 源碼放在一起禽作。

  5. 如果缺少其他一些包的話,一般是一些基礎(chǔ)包 揩页,可以相應(yīng)下載安裝即可 旷偿。

將 mysql-5. 7.16.tar.gz 解壓 ,解壓之后可 以看到其源碼組織結(jié)構(gòu)(昨天已經(jīng)把組織結(jié)構(gòu)說了)碍沐。

在源碼目錄下有 一個名為 CMakeLists.txt 的文件 狸捅,這個文作就干 用來通過 CMake 配置編譯環(huán)境的入口文件 ,在每一個需要被編譯的子目 錄中都有這么一個文件 累提,通過它們就可 以在 Linux 下生成相應(yīng)的 Makefile 文件了尘喝。

編譯之前,最好是在源碼目錄下mkdir一個單獨的目錄斋陪,用來存放中間文件朽褪,這樣不會污染源碼目錄,在你想要清除環(huán)境的時候无虚,直接將這個編譯目錄刪除即可缔赠。

例子:

cd mysql-5.7.16

mkdir yuanma

cd yuanma

再將下載好的文件boost_1_59_0.tar.gz 放到源碼目錄中,以便生成編譯環(huán)境時使用友题。

下面是CMake命令來生成的編譯環(huán)境

cmake ? ? -DBUILD_CONFIG=mysql_release \

-DINSTALL LAYOUT=STANDALONE \

-DCMAKE BU LD_TYPE=RelWithDebinfo \

-DENABLE DTRACE =OFF \

-DWITH EMBEDDED_SERVER=OFF \

-DWITH NNODB_MEMCACHED=ON \

-DWITH SSL=bundled \

-DWITH ZLIB=system \

-DWITH PAM=ON \

-DCMAKE_INSTALL_PREFIX=/ var /my sql/ \

-DINSTALL_PLUGINDIR=”/var /mysql / b/ plugin” \

-DDE FAULT CHARSET=utf 8 \

-DDEFAULT_COLLATION=utf 8_general_ci \

-DWITH_EDITLINE=bundled \

-DFEATURE_SET=community \

-DCOMPILATION_COMMENT=“MySQL Server (GPL)”\

-DWITH_DEBUG=OFF \

-DWITH_BOOST= ? ?

上面的命令中嗤堰,有一點需要注意,因為當前所對應(yīng)的相對目錄為mysql-5.7.16/yuanma度宦,而源碼的目錄為mysql-5.7.16踢匣,所以CMake命令指定源碼目錄為“ ? ?”,不然CMake找不到路徑戈抄。

上面的編譯環(huán)境如果看不懂离唬,沒關(guān)系,看我下面的Excel表:

上面命令中的重要選項

如果有特殊需求划鸽,可以在CMake命令中通過在前面加上-D來指定相應(yīng)的值输莺,選擇是否啟用戚哎。

執(zhí)行和這個命令進行CMake的過程,就是配置編譯環(huán)境的過程嫂用。

如果看到型凳,下面信息,代表配置已經(jīng)完成尸折,可以做真正編譯工作了啰脚。

--configuring done

--Generating done

此時你會發(fā)現(xiàn),在當前目錄下出現(xiàn)了Makefile文件实夹,這就是上面CMake配置時生成的,有了Makefile粒梦,就可以通過make來編譯MySQL源碼了亮航。

生成CMake

編譯時,直接在debug下執(zhí)行:

make -j 24(這個參數(shù)可以加快編譯過程

編譯MySQL

編譯完成之后匀们,需要安裝:

make install

因為在CMake執(zhí)行時缴淋,指定參數(shù)CMAKE_INSTALL_PREFIX 為var/mysql,安裝完成之后,所有關(guān)于MySQL需要的內(nèi)容都會安裝在這個目錄下面泄朴,內(nèi)容如下面:

drwxr-xr-x 2 root root 4096 Jan 10 12:16 bin

-rw-r--r-- 1 root root 17987 Nov 28 21:32 COPYING

我就不全部打了重抖,你cd進這個目錄 ls -l 會顯示所有

在var/mysql這個目錄里面,包含了所有的MySQL編譯生成的可執(zhí)行文件祖灰,其中包括mysql钟沛、mysqld、mysqldump局扶、mysqlbinlog等文件恨统。

這些文件在bin目錄下,這個目錄三妈,就是MySQL在運行時畜埋,需要指定的basedir。

之所以編譯安裝畴蒲,是因為里面的參數(shù)可以隨你自己調(diào)動悠鞍,根據(jù)自己的需求來,既不會導(dǎo)致空間浪費模燥,又可以避免資源浪費咖祭。

希望這篇文章對你有用。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涧窒,一起剝皮案震驚了整個濱河市心肪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纠吴,老刑警劉巖硬鞍,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡固该,警方通過查閱死者的電腦和手機锅减,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伐坏,“玉大人怔匣,你說我怎么就攤上這事¤氤粒” “怎么了每瞒?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯露。 經(jīng)常有香客問我剿骨,道長,這世上最難降的妖魔是什么埠褪? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任浓利,我火速辦了婚禮,結(jié)果婚禮上钞速,老公的妹妹穿的比我還像新娘贷掖。我一直安慰自己,他們只是感情好渴语,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布苹威。 她就那樣靜靜地躺著,像睡著了一般遵班。 火紅的嫁衣襯著肌膚如雪屠升。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天狭郑,我揣著相機與錄音腹暖,去河邊找鬼。 笑死翰萨,一個胖子當著我的面吹牛脏答,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亩鬼,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼殖告,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了雳锋?” 一聲冷哼從身側(cè)響起黄绩,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎玷过,沒想到半個月后爽丹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筑煮,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年粤蝎,在試婚紗的時候發(fā)現(xiàn)自己被綠了真仲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡初澎,死狀恐怖秸应,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碑宴,我是刑警寧澤软啼,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站延柠,受9級特大地震影響焰宣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捕仔,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盈罐。 院中可真熱鬧榜跌,春花似錦、人聲如沸盅粪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽票顾。三九已至础浮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奠骄,已是汗流浹背豆同。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留含鳞,地道東北人影锈。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蝉绷,于是被迫代替她去往敵國和親鸭廷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容