程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 爛泥:mysql5.5數據庫cmake源碼編譯安裝,mysql5.5cmake

爛泥:mysql5.5數據庫cmake源碼編譯安裝,mysql5.5cmake

編輯:MySQL綜合教程

爛泥:mysql5.5數據庫cmake源碼編譯安裝,mysql5.5cmake


本文由秀依林楓提供友情贊助,首發於爛泥行天下。

以前也寫過一篇有關mysql5.0源碼編譯的文章,該文章為《爛泥:mysql5.0數據庫源碼編譯安裝》。但是MySQL自5.5版本以後,就開始使用cmake 編譯工具。

所以這篇文章主要是講解如何通過cmkae編譯安裝mysql5.5及其以後的版本。

注意本篇文章的環境為centos6.5 64bit。

cat /etc/system-release

uname -a

在安裝mysql數據庫之前,我們首先要在系統中新建mysql運行時的用戶mysql。如下:

useradd -M -s /sbin/nologin mysql

grep mysql /etc/passwd

cat /etc/passwd |grep mysql

grep mysql /etc/group

注意useradd -M -s /sbin/nologin mysql,這條命令中的-M參數,該參數的意思是在創建用戶時不為該用戶創建其對應的家目錄,-s /sbin/nologin表示該用戶不能登陸到系統。

用戶創建完畢後,我們現在來下載mysql5.5的軟件包,使用如下命令:

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.39.tar.gz

mysql5.5下載完畢後,我們現在開始安裝mysql編譯安裝時,所需要的軟件包。使用如下命令:

yum -y install gcc gcc-c++ cmake ncurses-devel libtool zilib-devel

注意其中cmkae軟件包一定要安裝,否則我們下面無法安裝mysql5.5。

有關cmkae的相關釋義,百度百科如下:

cmake是一個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。它能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似與UNIX下的automake。只是cmake的組態檔取名為cmakeLists.txt。

cmake並不直接建構出最終的軟件,而是產生標准的建構檔(如 Unix 的makefile 或 Windows Visual C++ 的 projects/workspaces),然後再依一般的建構方式使用。

以上所有軟件安裝完畢後,我們現在開始解壓mysql5.5,使用如下命令:

tar -xvf mysql-5.5.39.tar.gz

查看解壓後的文檔,如下:

注意圖中標記出來的cmkae目錄。這個就是我們要安裝是所需要的重要文件。

現在開始正式安裝mysql5.5,使用如下命令進行配置mysql5.5.如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

注意這點就是與mysql5.5源碼安裝之前版本不同的地方。之前版本使用./configure進行配置。

配置完畢後,現在開始編譯mysql5.5,使用make命令。如下:

make

編譯完畢後,開始安裝mysql5.5,使用make install命令。如下:

make install

安裝完畢後,我們現在還不能啟動mysql數據庫的,需要進行一些配置。

修改mysql運行目錄的所屬用戶及用戶組,使用如下命令:

chown mysql:mysql -R /usr/local/mysql/

為什麼要修改呢?是因為mysql運行時,所使用的用戶就mysql。

mysql運行目錄的所屬用戶修改完畢後,我們還要初始化mysql數據庫。

在mysql5.5的安裝目錄下執行如下的命令:

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

注意該命令行中的--user=mysql表示運行mysql數據庫時所使用的用戶,--basedir=/usr/local/mysql表示mysql數據庫說安裝的位置,--datadir=/usr/local/mysql/data表示mysql數據庫的數據文件存儲的位置。

在執行該命令時,系統會提示你權限不夠。如下:

查看mysql_install_db文件的相關權限,如下:

ll scripts/mysql_install_db

而且通過上圖,我們可以很明顯的看到mysql_install_db文件根本沒有可執行權限。

我們需要給mysql_install_db文件配置可執行權限,如下:

chmod a+x ./scripts/mysql_install_db

權限配置完畢後,我們再次執行上述命令。如下:

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

數據庫初始化完畢後,我們還有兩個工作要做。一是配置mysql的配置文件my.cnf。二是配置mysql啟動文件。

my.cnf文件的內容,我們可以自己填寫,也可以根據mysql安裝文件中提供的模版進行修改。

該模版文件為support-files目錄下的my-medium.cnf等幾個文件。我們現在以my-medium.cnf文件為例,我們只需要復制該文件並重命名為my.cnf即可。如下:

cp support-files/my-medium.cnf /etc/my.cnf

復制完畢後,再次查看my.cnf文件,如下:

cat /etc/my.cnf |grep -v ^#|grep -v ^$

注意該命令中,grep -v ^#表示不顯示以#開頭的行,grep -v ^$表示不顯示以空白開頭行。

my.cnf文件配置完畢後,我們還要把support-files目錄下的mysql.server文件復制到/etc/init.d/下並重命名為mysqld。mysqld就是把mysql作為服務啟動的文件。如下:

cp support-files/mysql.server /etc/init.d/mysqld

通過上圖我們可以發現,mysqld文件並沒有執行權限。我們現在需要給其執行權限,如下:

chmod a+x /etc/init.d/mysqld

以上全部修改並配置完畢後,我們就可以啟動mysql5.5數據庫.

啟動並查看如下:

/etc/init.d/mysqld start

ps aux |grep mysqld

netstat -tunlp |grep 3306

通過上圖,我們可以看到mysql數據庫已經成功啟動。

下面我們登錄mysql數據庫看下,要使用mysql命令。我們需要把/usr/local/mysql/bin/路徑加入到系統的環境變量中,否則mysql命令無法使用。如下:

現在把/usr/local/mysql/bin/路徑加入到系統的環境變量中,如下:

echo $PATH

echo PATH=$PATH:/usr/local/mysql/bin >>/etc/profile

source /etc/profile

mysql -u root -p

通過上圖,我們可以看到mysql命令已經可以正常使用。

到此mysql5.5的cmake源碼安裝就完畢了。


Mysql5530使用Cmake編譯不通過,報出如下錯誤:

安裝版本下錯了。要選擇的是 MySQL Community Server 下的 Source Code
系統不給發網址,你就自已重下一個吧。
 

cmake編譯mysql55出錯:Unknown CMake command "CHECK_LIBRARY_EXISTS"

./configure ----prefix=/cmake
你都用 --prefix ,而且還是指定到自定義目錄的方式了。還來 XXOO 的說這個指定目錄才能運行的問題……
哎……

1、make uninstall ,不過不是所有的都支持
2、export PATH=/cmake/bin:$PATH
3、我記得 bootstrap 是某個項目管理程序的控制腳本,用來生成編譯環境的。configure 好像就歸他生成,但一般軟件項目發布後都會生成好足夠用的環境,所以不一定需要這個東西。

關於 cmake ,我想說你的系統難道就沒有只能用的 make 嗎?

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved