mysql5.0資料庫原始碼編譯安裝

爛泥行天下發表於2016-05-12

本次實驗的mysql、OS相關資訊如下:

Mysql:5.0.96 OS:centos 32 bit

最近公司要上新的業務,指明資料庫使用的是mysql5.0版本。如果是使用rpm包安裝的話,那就很簡單了。直接使用yum安裝即可,命令如下:

yum –y install mysql mysql-server

clip_image001

clip_image002

Yum方式安裝完畢後,直接啟動mysql資料庫服務即可。如下圖:

clip_image003

這樣基本上就可以了。

但是這樣安裝mysql資料庫,沒有進行定製。比如mysql資料庫的資料檔案儲存位置。rpm形式安裝的資料檔案預設位置為/var/lib/mysql。這個我們可以通過mysql的配置檔案檢視所得,如下圖:

clip_image004

實際的情況是,我們新的業務要求mysql資料庫的資料檔案需要單獨進行存放,這個使用rpm形式就不太容易達到要求。所以打算使用原始碼進行編譯安裝,而且自己也沒有對mysql資料庫進行原始碼安裝過。剛好趁這次機會學習如何對mysql資料庫進行原始碼安裝。

首先,在相應的網站下載mysql的安裝包。為什麼說是相應的網站,而不是mysql的官網。因為現在在官網無法下載到5.0版本的,只能下載到5.5以上的版本。我現在是在這個網站下載的:http://download.mysql.cn/src/

下載完畢上傳到伺服器上,具體如何上傳你可以使用winscp、FTP。或者也可以使用lrzsz這個軟體。

我現在使用的就是lrzsz這個軟體,如果你的伺服器沒有安裝的話,可以通過:

yum –y install lrzsz

進行安裝,如下圖:

clip_image005

rz 是上傳的命令,sz是下載的命令。

我們現在使用日誌命令把mysql的安裝包,上傳到伺服器上,如下圖:

clip_image006

clip_image007 clip_image008

Mysql安裝包已經上傳完畢,那麼我們現在進行安裝mysql之前的工作。

安裝mysql編譯所需要的工具包,如下圖:

clip_image009 clip_image010

clip_image011

yum -y install gcc gcc-c++ ncurses-devel

工具包安裝完畢後,我們來新建相關的使用者。第一個使用者ilanni,用來安裝mysql使用。第二個使用者是mysql,用來執行mysql的。如下圖:

clip_image012

把mysql安裝包移動到ilanni使用者的家目錄下,並解壓,如下圖:

clip_image013

clip_image014

以上工作是前提工作,做完後。我們現在進入mysql-5.0.96目錄開始安裝mysql。

首先編譯mysql資料庫,如下圖:

clip_image015

./configure –prefix=/usr/local/mysql 其中/usr/local/mysql為mysql資料庫的安裝位置。

clip_image016

clip_image017

可以看到沒有報錯,那我們開始make,如下圖:

clip_image018

Make過程比較慢,我這邊大約10分鐘左右。

clip_image019

Make終於完畢了,通過上圖可以沒有報錯。

下面開始make install,如下圖:

clip_image020

clip_image021

Make install還是比較快的,可以看到沒有報錯。

Mysql已經安裝完畢,下面開始進行相關的配置。

還是在該安裝目錄下,如下圖:

clip_image022

複製support-files目錄下的my-medium.cnf到/etc/下作為mysql的配置檔案:

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

clip_image023

複製support-files目錄下的mysql.server到/etc/init.d/目錄下作為mysql的啟動檔案

clip_image024

現在我們來啟動下使用/etc/init.d/mysqld啟動mysql 試下,如下圖:

clip_image025

可以看到系統提示我們,沒有執行該指令碼的許可權。而mysqld指令碼的許可權,看下圖:

clip_image026

可以很明顯的看到目前該指令碼的許可權為644,根本沒有執行許可權。

現在更改該指令碼的許可權,如下圖:

clip_image027

Ok,該檔案的許可權修改完畢後,我們來初始化mysql資料庫。在文章的開頭我就說了,我現在要把mysql的資料檔案存放在/data目錄下。

首先要建立/data目錄,並修改該目錄的所屬使用者及使用者組。如下圖:

clip_image028

修改完畢後,我們還需要修改/usr/local/mysql的所屬使用者及使用者組,如下圖:

clip_image029

以上修改完畢後,我們還需要修改mysql的配置檔案。主要是要在配置檔案中加入目前自己定義資料檔案位置,如下圖:

clip_image030

以上所有的修改進行完畢後,我們在執行mysql安裝目錄scripts下mysql_install_db檔案,如下圖:

clip_image031

./scripts/mysql_install_db –user=mysql 中的—user=mysql一定要有。

我們來檢視mysql初始化的結果,檢視/data目錄,如下圖:

clip_image032

可以看到mysql的預設資料mysql及test都在裡面。

現在我們來啟動mysql看看實際的情況,如下圖:

clip_image033

/etc/init.d/mysqld start

如果要把mysql開機啟動,可以使用chkconfig命令。如下圖:

clip_image034

如果你想在如何目錄下直接mysql命令,需要把/usr/local/mysql/bin路徑加入到全域性設定/etc/profile檔案中,如下圖:

clip_image035

Ok,到此mysql資料庫就安裝完畢。

如果mysql客戶端連線,mysql服務比較慢的話。我們需要在my.cnf檔案中加入skip-name-resolve,如下:

2014-11-03_152106

PS:有關本次實驗使用的命令如下,在執行過程中建議儘量按照命令的順序進行操作:

yum -y install gcc gcc-c++ ncurses-devel

tar -xf mysql-5.0.22.tar.gz

useradd ilanni

useradd -s /sbin/nologin mysql

cd /home/ilanni/mysql-5.0.22

./configure –prefix=/usr/local/mysql

make

make install

cp /home/ilanni/mysql-5.0.96/support-files/my-medium.cnf /etc/my.cnf

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

chmod -R 755 /etc/init.d/mysqld

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

mkdir /data

chown -R mysql:mysql /data

/usr/local/mysql/bin/mysql_install_db –basedir=/usr/local/mysql

/etc/init.d/mysqld start

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

tail -10 /etc/profile

source /etc/profile


相關文章