mysql5.5資料庫cmake原始碼編譯安裝
以前也寫過一篇有關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進行配置。
同時還要說明下,-DCMAKE_INSTALL_PREFIX這個引數不容易記憶,但是不需要擔心。其實mysql的安裝文件已經給出相關的安裝步驟。檢視INSTALL-SOURCE安裝文件。如下:
cat INSTALL-SOURCE |sed -n ‘5417,5438p’
該命令的作用是顯示INSTALL-SOURCE檔案5417到5438行之間的內容。
配置完畢後,現在開始編譯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原始碼安裝就完畢了。
如果mysql客戶端連線,mysql服務比較慢的話。我們需要在my.cnf檔案中加入skip-name-resolve,如下:
相關文章
- Linux下原始碼編譯方式安裝MySQL5.5Linux原始碼編譯MySql
- mysql5.0資料庫原始碼編譯安裝MySql資料庫原始碼編譯
- CMAKE安裝mysql5.5MySql
- Linux 安裝 mysql 5.5.8(cmake原始碼安裝mysql5.5以上版本)[轉]LinuxMySql原始碼
- MySQL5.5原始碼編譯新增編譯備註資訊~MySql原始碼編譯
- Windows下CMake編譯安裝OpenCVWindows編譯OpenCV
- mysql5.5的原始碼安裝MySql原始碼
- 原始碼編譯安裝Redis原始碼編譯Redis
- LAMP原始碼編譯安裝LAMP原始碼編譯
- 原始碼編譯安裝的原理原始碼編譯
- zabbix agent原始碼編譯安裝原始碼編譯
- 原始碼編譯安裝MySQL 5.7.9原始碼編譯MySql
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)Linux原始碼編譯GC
- linux下編譯安裝mysql5.5以上版本Linux編譯MySql
- RedHat 6.4原始碼方式安裝mysql5.5Redhat原始碼MySql
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- php-7.1.0原始碼編譯安裝PHP原始碼編譯
- 詳解LAMP原始碼編譯安裝LAMP原始碼編譯
- LAMP原始碼編譯安裝配置+wordpressLAMP原始碼編譯
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- MySQL 5.6原始碼編譯安裝流程MySql原始碼編譯
- linux中原始碼編譯安裝Linux原始碼編譯
- CMake生成OpenCV解決方案&&編譯OpenCV原始碼OpenCV編譯原始碼
- Mysql安裝過程中CMAKE編譯出錯MySql編譯
- MySQL 5.5編譯安裝cmake引數說明MySql編譯
- 阿里雲mysql原始碼編譯安裝阿里MySql原始碼編譯
- 04 原始碼編譯安裝與介紹原始碼編譯
- MySQL5.7.16原始碼編譯安裝MySql原始碼編譯
- Qt4 原始碼編譯安裝指南QT原始碼編譯
- LAMP純原始碼編譯安裝日誌LAMP原始碼編譯
- percona-toolkit原始碼編譯安裝原始碼編譯
- CentOS 7 原始碼編譯安裝 Mysql 5.7CentOS原始碼編譯MySql
- MySQL 5.7.9原始碼編譯安裝說明MySql原始碼編譯
- 如何編譯安裝原始碼包軟體編譯原始碼
- cmake編譯指定自己編譯的庫路徑編譯
- PostgreSQL原始碼學習 win10原始碼編譯安裝SQL原始碼Win10編譯
- Greenplum_原始碼編譯安裝和RPM包安裝原始碼編譯