歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

OpenBSD2.8服務器配置實務手冊(3)

OpenBSD手冊

第三課、配置數據庫服務


如果您不需要數據庫服務可以略過本課,但是後面的課程中相當部分和本課有關,所以即使不打算配置數據庫服務,也應該看看本課的內容。
MySQL數據庫是目前最受歡迎的免費數據庫,由於具有優異的效率和簡潔的控制方式,所以被眾多的服務商采用。盡管它還有一些不足,例如不支持事務和子選擇,但這些缺陷可以通過編程解決。
在本手冊開始寫作的時候,MySQL的最新穩定版本是3.23.32,還沒有OpenBSD的port(OpenBSD中的每一個應用都是一個port),所以我們在手冊光盤中包含了它的源代碼包,並寫作了本課以教導您如何在OpenBSD下面編譯並安裝MySQL。

第一節、展開MySQL源代碼包
首先需要讓系統可以讀取光盤(因為源代碼包在光盤裡面啊!),方法非常簡單,只需執行以下的命令即可:
mount /dev/cd0c /mnt
然後轉入/usr/src目錄,把MySQL-3.23.32的源代碼包解壓
cd /usr/src
tar zxvf /mnt/packages/mysql-3.23.32.tar.gz
這樣,在/usr/src目錄下面就會有一個名為mysql-3.23.32的目錄,裡面就是MySQL-3.23.32的源代碼。為了繼續後面的工作,我們需要進入該目錄。
cd mysql-3.23.32

第二節、為MySQL服務程序建立所需的組和用戶
要正確編譯和安裝MySQL數據庫服務程序,需要建立mysql組和屬於mysql組的mysql用戶。在以後運行MySQL數據庫服務程序的時候同樣需要它們,建立的方法如下:
groupadd mysql
useradd –g mysql mysql

第三節、運行配置程序
因為要編譯源代碼必須先獲得和系統相關的信息,包括編譯器版本,系統支持的線程方式(OpenBSD是一個支持多線程的系統)等。因此需要運行配置程序以獲取這些信息。
./configure --prefix=/usr/local \
--localstatedir=/var/mysql \
--with-low-memory \
--without-bench \
--without-debug
我們解釋一下配置程序裡面各行的含義。./configure就是要執行的配置程序了;--prefix=/usr/local表示,編譯後的MySQL數據庫服務程序將會安裝到/usr/local/bin目錄當中,而庫文件會安裝到/usr/local/lib/mysql目錄中,頭文件將安裝到/usr/local/include目錄中;--localstatedir=/var/mysql表示數據庫所用到的數據將會安裝到/var/mysql目錄中(我們在安裝OpenBSD的時候提到如果需要,可以為/var/mysql建立一個獨立的分區就是這個原因,這樣可以方便管理);--with-low-memory這一句至關重要,沒有了它,基本上就不要指望在您的機器上面通過編譯,除非您擁有超過1Gb的內存,這句會指導編譯程序使用交換分區作為虛擬內存;--without-bench和—without-debug告訴編譯器和安裝腳本不需要測試程序和調試信息。
好了,解釋得夠清楚嗎?

第四節、編譯和安裝MySQL
這個步驟非常簡單,只需要執行下面的命令即可,其他得事情由電腦來完成。因為編譯的過程非常久,可以喝杯水歇一歇。
make
make install
make init-db

第五節、測試MySQL
對不起,本節的標題有點含糊。這裡的測試是指測試MySQL的編譯和安裝是否正常。為了測試MySQL是否被正確編譯和安裝,需要執行以下的命令:
/usr/local/bin/safe_mysqld > /dev/null &
/usr/local/bin/mysqladmin –u root password ‘123456’
如果第二條命令無聲無息地結束了,那麼就證明MySQL可以正常使用了。對了,第二條命令其實是更改系統管理員的口令啊!那麼您知道以後使用MySQL程序的時候需要的口令了嗎?

第六節、讓MySQL在系統啟動的時候自動啟動
我們需要做一些工作來讓MySQL在系統啟動的時候自動啟動。首先我們修改/etc/rc.conf文件,添加以下的行:
mysqld_flags=””
然後,需要修改/etc/rc文件,找到啟動named的代碼(第171行),添加以下的代碼:
if [ “X${mysqld_flags}” != X”NO” ]; then
echo ‘starting mysqld’
/usr/local/bin/safe_mysqld > /dev/null &
fi
另外,為了讓其他需要用到MySQL的程序編譯可以順利通過,就需要在/etc/rc.local文件中添加以下的代碼:
if [ “X${mysqld_flags}” != X”NO” ]; then
/sbin/ldconfig –m /usr/local/lib/mysql
fi

Copyright © Linux教程網 All Rights Reserved