如何架設 MySQL 資料庫系統?(配合Apache+PHP)
Copyright 2000 OLS3,本講義僅供教育人員參考,任何引用,請先取得作者的同意.
Email: ols3@www.tnc.edu.tw
網(wǎng)站: http://www.ols3-cgi.com 或 http://www.perl.ms 臥龍小三CGI天堂
前言:
MySQL 是一種: 跨平臺,多使用者,多執行緒,支援SQL語(yǔ)言(結構化查詢(xún)語(yǔ)言),執行速度快,廣受全球網(wǎng)站大量採用的網(wǎng)路資料庫系統,最重要的是,在大部份情形下,使用 MySQL 是完全免費的!(MySQL自3.23.19之後已改為GPL版權宣告囉!)
MySQL 到底有多快呢? 這裡有一份測速比較表 (注意喔!在這裡,長(cháng)條圖是越短越好喔!),您可以發(fā)現 MySQL 優(yōu)異的表現!
整體而言,MySQL 免費,原始碼開(kāi)放,入門(mén)容易,執行速度快,跨平臺(NT也可以跑喔!),支援工具眾多等特性,十分適合中小學(xué)校用來(lái)開(kāi)發(fā)各種校務(wù)行政系統! 學(xué)校不必再花費數十萬(wàn)元,去購買(mǎi)一些費而不惠的資料庫!
MySQL 沒(méi)有所謂連線(xiàn)使用者限制,其它商用資料庫系統,一定數量以上的連線(xiàn)使用者數,可是要付出相當可觀(guān)的費用的!
您知道嗎? 像 Yahoo,Sina 等大公司,也是用 MySQL 哩! 大鯨魚(yú)都這樣聰明地挑選 MySQL 了,何況是我們這種小蝦米?!
本文將介紹,如何在 RedHat Linux 下,安裝 MySQL 資料庫系統,並結合 Apache / PHP。當然,其它 Linux 套件/Un*x/FreeBSD 等平臺也大部份適用!
安裝 MySQL + Apache + PHP 的方式
有二種方式您可以選擇:
選擇的根據,和您目前所使用的 RedHat 版本有關(guān)!
如果您是使用 RedHat 6.1 + CLE 0.9,您可以選用第一種方式,這種安裝方式是最輕鬆,最方便快速的,但控制自由度卻最小.
如果您是使用 RedHat 6.0 + CLE 0.8,那麼您必須選用第二種方式,因為這個(gè)版本的 RedHat,所附的 PHP 模組並不支援 MySQL.
如果您是使用 RedHat 6.1 以上的英文版本,二種方式皆可行.
我的建議是,不管那一個(gè)版本,那一種平臺,皆使用第二種方式,可以獲得最大的控制自由度.
當然,若您只是想要玩玩 MySQL + PHP 3,那麼,RedHat 6.1 + CLE 0.9 是不錯的選擇! 因為,大約只要十分鐘就可以架好系統,開(kāi)始享受 MySQL + PHP 3 驚人的魅力!
仍在使用 RedHat 6.0 + CLE 0.8 的人,若欲求方便快速,應該可以考慮升級至 RedHat 6.1 + CLE 0.9 了!
若不想升級,您可選用第二種方式來(lái)安裝囉!
另外一點(diǎn),PHP 自從 4.0 之後,改採用 Zend 引擎,速度快,效能好,是最佳的選擇! 若您覺(jué)得仍不夠快,Zend 引擎站臺,還提供火箭加速器,讓您的 PHP + MySQL 一飛沖天!
本文最末,也會(huì )介紹如何加裝這顆加速器!
另外,還有人提到,為何不介紹 ASP + Access 或 ASP + MS SQL ??
我的看法是: 這些東西,在市面上,已經(jīng)有太多書(shū)提及了,您自己看書(shū)即可.
我的觀(guān)察是: ASP+Access 真是遜斃了! Access 實(shí)在不適合拿來(lái)當作網(wǎng)路資料庫使用! 您不會(huì )希望您的資料庫老是出現 provider error 的訊息吧? 然後還要重新開(kāi)機才能使用? :-Q
若您覺(jué)得什麼系統好用,您就去用,沒(méi)有任何仇恨微軟的情結,也無(wú)此必要.
套句廣告詞: 自己試試,最靠得??!
提倡 GPL / GNU / Open Soure,不一定就是反微軟,
我真正的想法是: 凡是能供使用者有多重選擇者,就是最好的方案,而不是僅此一家,別無(wú)它擇!
"您有很多種方式可以達成目的,選擇您認為最好的!"
OK,開(kāi)始吧!
安裝方式一.
RedHat Linux 6.1 + CLE 0.9 下,使用 RPM 檔來(lái)安裝:
前面提到,這個(gè)方式是最輕鬆的,過(guò)程如下:
1. 下載以下套件:
其實(shí)這些檔案在 RedHat 6.1 + CLE 0.9 的光碟片中便有:
或至本中心下載.
2. 使用 rpm 指令來(lái)安裝
rpm -ivh MySQL*
rpm -ivh php*
3. 設定MySQL 中 root 的密碼 (注意! 此一 root 和 Linux 中的 root 並不是同一個(gè))
mysqladmin -u root password ‘您要設定給 root 的密碼‘
例如:
mysqladmin -u root password ‘clinton38‘
(嘿... 可不要真的選用這個(gè)密碼喔! 這只是舉例而已...)
4. 修改 /etc/httpd/conf 中 httpd.conf 的設定
將
LoadModule php3_module modules/libphp3.so
及
AddModule mod_php3.c
之前的 # 去掉
並增加以下這二列:
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3 .php
然後存檔.
5. 重新啟動(dòng) Apache
/etc/rc.d/init.d/httpd restart
6. 設定 phpMyAdmin
cd /home/httpd/html/phpMyAdmin
編輯 config.inc.php3,修改以下三行,變成:
$cfgServers[1][‘a(chǎn)dv_auth‘] = true;
$cfgServers[1][‘stduser‘] = ‘root‘;
$cfgServers[1][‘stdpass‘] = ‘您要設定給 root 的密碼‘;
7. 測試:
編寫(xiě)一個(gè)測試用的程式: test.php3
內容如下:
<? phpinfo() ?>
將該檔放入 /home/httpd/html 中,然後於瀏覽器中觀(guān)看 http://貴校網(wǎng)址/test.php3
若看到以下畫(huà)面,那就是成功了!

接著(zhù)用以下指令,連接至 MySQL,看看是否能正常連上?
mysql -u root -p mysql
然後輸入 root 的密碼,若出現:

表示連接正常!
按 exit 便可離開(kāi).
8. 管理
您可以連至 http://貴校網(wǎng)址/phpMyAdmin/,用 root 帳號密碼登入,開(kāi)始進(jìn)行資料庫的管理了!
畫(huà)面如下:


安裝方式二.
使用原始碼包來(lái)安裝:(推薦此方式)
共有以下四個(gè)大項:
Let‘s go!
A. 安裝 MySQL
1. 下載 Tarball 包
首先至 http://www.mysql.com 下載 MySQL 的 tarball : mysql-3.23.24-beta.tar.gz,或至本中心FTP下載.
2. 解壓:
tar xvzf mysql*.gz
3. 進(jìn)入原始目錄
cd mysql-3.23.24
4. 設定:
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var --with-charset=big5
Note:
5. 編譯:
make
Note:
6. 安裝:
make install
7. 開(kāi)啟預設資料庫/表格:
scripts/mysql_install_db
8. 增加一位叫 mysql 的使用者帳號
adduser mysql
9. 改變 /usr/local/mysql 的擁有者為 mysql
chown -R mysql.mysql /usr/local/mysql
10. 啟動(dòng) MySQL
/usr/local/mysql/bin/safe_mysqld --user=mysql &
11. 設定 root 的密碼
mysqladmin -u root password ‘您要設定給root的密碼‘
例如:
mysqladmin -u root password ‘raso‘
12. 設定一開(kāi)機便啟動(dòng) MySQL
將
/usr/local/mysql/bin/safe_mysqld --user=mysql &
加入 /etc/rc.d/rc.local 檔末即可.
B. 安裝 PHP + Apache
1. 取得 PHP 及 Apache
至 http://www.php.net 下載 PHP 4.0.2 版,檔名是: php-4.0.2.tar.gz
或至本中心下載
至 http://www.apache.org 下載 Apache 1.3.12 版,檔名是: apache_1.3.12.tar.gz
或至本中心下載.
2. 解壓
tar xvzf php-4.0.2.tar.gz
tar xvzf apache_1.3.12.tar.gz
3. 先設定 Apache
cd apache_1.3.12
./configure --prefix=/usr/local/apache
Note:
4. 設定並安裝 PHP4
cd ..
cd php-4.0.2
./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars
make
make install
若編譯過(guò)程有誤(通常是編譯 ext/gd 出現 error),
則可重新設定為:
./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars --without-gd
再 make 及 make install 一次.
Note:
5. 設定並安裝 Apache
cd ..
cd apache_1.3.12
./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
make
make install
cd ..
cd php-4.0.2
cp php.ini-dist /usr/local/lib/php.ini
Note:
6. 修改 /usr/local/apache/conf 中的 httpd.conf
加入以下幾列:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
Note:
修改 DirectoryIndex 變成:
DirectoryIndex index.html index.php index.php3 index.phtml index.shtml
Note:
7. 將原有的網(wǎng)頁(yè)搬家
cp -Rf /home/httpd/html/* /usr/local/apache/htdocs
cp -Rf /home/httpd/cgi-bin /usr/local/apache
或者您自行把網(wǎng)頁(yè)放入 /usr/local/apache/htdocs 中
把 cgi-bin 的檔案放入 /usr/local/apache/cgi-bin 中
8. 先殺原有的 Apache
/etc/rc.d/init.d/httpd stop
把原有的開(kāi)機啟動(dòng) Apache 拿掉
linuxconf --> Control --> Control service activity -->httpd 設為 disable
或
cd /etc/rc.d/rc3.d
rm S85httpd
或者您考慮把舊有的 Apache 移除????! (rpm -e apache)
9. 啟動(dòng)新的 Apache
/usr/local/apache/bin/apachectl start
10. 設定開(kāi)機自動(dòng)載入新的 Apache
將
/usr/local/apache/bin/apachectl start
放入 /etc/rc.d/rc.local 檔末即可
C. 安裝 phpMyAdmin
1. 下載
至 http://phpwizard.net/ 下載 phpMyAdmin 2.1.0 或至本中心下載
檔名是:
phpMyAdmin_2.1.0.tar.gz (解開(kāi)之後,副檔名全為 php3 者)
及
phpMyAdmin_2.1.0php.tar.gz(解開(kāi)之後,副檔名全為 php 者)
不管是選用那一個(gè)都可以,因為前面在 httpd.conf 中,我們已把 php3 及 php 的 type 都加入了.
2. cp phpMyAdmin_2.1.0.tar.gz /usr/local/apache/htdocs
3. 解壓
tar xvzf phpMyAdmin_2.1.0.tar.gz
(或 tar xvzf phpMyAdmin_2.1.0php.tar.gz)
4. 設定
cd /usr/local/apache/htdocs/phpMyAdmin
編輯 config.inc.php3 (或 config.inc.php)
修改以下三行,變成:
$cfgServers[1][‘a(chǎn)dv_auth‘] = true;
$cfgServers[1][‘stduser‘] = ‘root‘;
$cfgServers[1][‘stdpass‘] = ‘您要設定給 root 的密碼(MySQL中的root)‘;
若您想使用中文介面
可把
require("english.inc.php3");
改成:
require("chinese_big5.inc.php3");
英文介面![]() |
|
中文介面 ![]() |
5. 測試
方法皆同如前面所提
D. 給 PHP4/Zend 加一顆火箭加速器(ZendOptimizer)吧!
1. 下載
至 http://www.zend.org 下載 ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1.tar.gz
或至本中心下載
2. 解壓
tar xvzf Zend*
3. 設定
cd ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1
mkdir -p /usr/local/Zend/lib
cp ZendOptimizer.so /usr/local/Zend/lib
將以下二列加入 /usr/local/lib/php.ini 檔末中
zend_optimizer.optimization_level=15
zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
4. 重新啟動(dòng) Apache
/usr/local/apache/bin/apachectl restart
5. 測試
http://貴校網(wǎng)址/test.php3
(test.php3 的內容同前文所提)
若出現畫(huà)面含有以下圖形,就表示成功了!

結語(yǔ):
到此為止,貴校主機中已有以下系統結構:
MySQL 3.23.24 + Apache 1.3.12 + PHP 4.0.2 + ZendOptimizer 0.99
接下來(lái),您還要學(xué)習:
安裝??
只不過(guò)是一小步而已,它在本質(zhì)上,是一種無(wú)聊浪費時(shí)間的,又不得不做的工作.
至於,
我上面提到的,這一些再學(xué)習的目標,就有待各位繼續努力去追尋囉!
您可以參考:
http://linux.tnc.edu.tw/MySQL/Manual_chapter/manual_toc.html
http://perl.tnc.edu.tw/manual/php3big5/
http://perl.tnc.edu.tw/manual/zend/
買(mǎi)本書(shū)來(lái)看吧? 看書(shū)是最快的學(xué)習途徑??!
有問(wèn)題的話(huà),到程式研發(fā)組來(lái)討論討論吧?!
網(wǎng)址如下所示:
希望本文對臺南縣各中小學(xué)能有所幫助....
OLS3 (ols3@www.tnc.edu.tw)
聯(lián)系客服