歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  作者:zenz-hu

第三課、配置資料庫服務


??如果您不需要資料庫服務可以略過本課,但是後面的課程中相當部分和本課有關,所以即使不打算配置資料庫服務,也應該看看本課的內容。
??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



[火星人 ] OpenBSD2.8伺服器配置實務手冊(3)已經有307次圍觀

http://coctec.com/docs/unix/show-post-73953.html