先說一下環境,系統是centos7,要安裝的mysql是最新版本5.7.12。
首先將壓縮包進行解壓,然後進入解壓後的目錄。
vcq9wcujrNLUx7C1xGNvbmZpZ3VyZS9tYWtl0tG+rbG7xdfG+sHLoaMgPGJyPgrWtNDQY21ha2XWuMHuuvOjrLeiz9bPtc2z1tDDu9PQsLLXsGNtYWtlo6zKudPDeXVtsLLXsMnPY21ha2WhoyA8YnI+CjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20160429/20160429090107160.jpg" alt="這裡寫圖片描述" title="\">
額外插一句,國內推薦使用163的repo,速度挺快的。
好的,現在安裝好了cmake,可以執行了!
這是什麼鬼,仔細一看,原來是沒有找到c編譯器,也就是gcc,好像是沒有裝。。
趕快把gcc裝上,汗,太不專業了:)好吧我這是最小安裝,大部份東西都沒有……
不扯蛋了,還有個c++的編譯器也沒有,也需要安裝,不過yum裡可不叫g++,而是gcc-c++,輸g++是找不到包的!
好了,繼續cmake!(如果產生了CMakeCache.txt文件,則需要先刪除此文件後再cmake)。
又出問題了,好吧,繼續解決問題。
從描述來看,是缺少boost,而且信息裡面已經給出了解決方案“-DDOWNLOAD_BOOST=1 -DWITH_BOOST=directory”,在cmake的時候加上這2個參數就能解決這個問題。”DDOWNLOAD_BOOST=1“表示自動下載,”-DWITH_BOOST=directory“則是指明BOOST安裝的目錄。
另外再說幾個在cmake時需要添加的參數:(此部份參數解釋轉載自”雲妹子“的原創文章)
-DCMAKE_INSTALL_PREFIX=dir_name
設置mysql安裝目錄,默認是/usr/local/mysql
DMYSQL_UNIX_ADDR=file_name
設置mysql.sock路徑,必須是絕對路徑,默認是/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name
設置服務器的字符集,默認使用latin1字符集,可用字符集可以查看cmake/character_sets.cmake
-DDEFAULT_COLLATION=collation_name
設置服務器的排序規則,默認使用latin1_swedish_ci,也可以在cmake/character_sets.cmake中查到
-DWITH_INNOBASE_STORAGE_ENGINE=1
存儲引擎選項:
MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不需要明確地安裝。
靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE=1
可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name
設置mysql數據庫文件目錄
-DMYSQL_TCP_PORT=port_num
設置mysql服務器監聽端口,默認為3306
-DENABLE_DOWNLOADS=bool
是否要下載可選的文件。例如,啟用此選項(設置為1),cmake將下載谷歌所使用的測試套件運行單元測試。
現在再來看cmake,就有好長的一串參數了!
cmake執行後發現還是有問題:
看信息,是缺少curses庫,在centos中,名稱是ncurses,查看已安裝列表發現ncurses已經安裝,但是ncurses-devel沒有安裝,使用yum進行安裝。
安裝完ncurses-devel後,刪除CMakeCache.txt,重新cmake:
好了,到這裡cmake算是完成了
cmake完成之後就可以進行make && make install了,這個耗費的時間就比較長了,主要看你機器的運行速率了。