我使用的操作系統(tǒng)是Red Hat 8.0,同樣的方法用于其它的發(fā)行版可能稍有不同。在安裝配置過程中,需要MySQL和unixODBC軟件包(OpenOffice缺省情況下已經(jīng)安裝好了)。這些軟件包在Red Hat 8.0的光盤中都已經(jīng)自帶,但在我的測試中,使用安裝盤的方法似乎無法成功。
安裝配置方法一
1.軟件
所需要的軟件包有:
mysql-3.23.55-pc-linux-i686.tar
MySQL-client-3.23.55-1.i386
MySQL-shared-3.23.55-1.i386
MyODBC-2.50.39-1.i386
unixODBC-2.2.4.tar
這些軟件包可分別可從以下站點:
http://mirrors.sunsite.dk/mysql/Downloads/MySQL-3.23/
http://mysql.azc.uam.mx/Downloads/MyODBC/
http://www.unixodbc.org
上面所列的是我感覺速度比較快的站點,事實上在很多鏡像站點都可以到這些軟件包。
2.安裝軟件
使用以下命令(以root身份)來查看以前是否安裝過:
rpm -qa grep -i mysql
rpm -e (發(fā)現(xiàn)的所有軟件包)
updatedb
rpm -qa grep -i odbc
rpm -e (所有發(fā)現(xiàn)的軟件包)
切換至的軟件包所在的目錄,以root用戶的身份執(zhí)行以下命令:
$cd /usr/local
$tar xzf mysql-3.23.55-pc-linux-i686.tar.gz
$ln -s mysql.3.23.55-pc mysql
$cd mysql
$scripts/mysql_install_db
$chown -R root .
$chown -R mysql data
$chgrp -R mysql .
$bin/safe_mysqld --user=mysql &
下面運行一個MySQL會話:
$./mysql -utest
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.55
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
這說明MySQL已經(jīng)成功安裝,現(xiàn)在輸入:
mysql> select version();
+-----------+
version()
+-----------+
3.23.55
+-----------+
1 row in set (0.01 sec)
使用命令“\s”來查看一些基本信息:
mysql> \s
--------------
./mysql Ver 11.18 Distrib 3.23.55, for pc-linux (i686)
Connection id: 4
Current database:
Current user: test@localhost
Current pager: stdout
Using outfile: ''
Server version: 3.23.55
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 6 min 57 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 6 Flush tables:
1 Open tables: 0 Queries per second avg: 0.014
為了實現(xiàn)我們的目的,需要安裝另外三個軟件包。和MySQL不同的是,這三個軟件都是以RPM的格式給出的。切換至軟件包所在的目錄,運行以下命令:
[root@myserver odbc]#su
[root@myserver odbc]# rpm -Uvh MySQL-client-3.23.55-1.i386.rpm
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
[root@myserver odbc]# rpm -Uvh MySQL-shared-3.23.55-1.i386.rpm
Preparing... ########################################### [100%]
1:MySQL-shared ########################################### [100%]
[root@myserver odbc]# rpm -Uvh MyODBC-2.50.39-1.i386.rpm
Preparing... ########################################### [100%]
1:MyODBC ########################################### [100%]
這些軟件包的安裝一般都不會有什么問題。下面來安裝unixODBC。在我寫本文時最新的unixODBC是2.2.5版,提供的文件是unixODBC-2.2.5.tar.gz。切換至軟件包所在目錄,運行以下命令:
tar xzf unixODBC-2.2.5.tar.gz
切換至unixODBC-2.2.5目錄,運行下述命令:
su
./configure
make
make install
但是,這個安裝過程并不順利,出現(xiàn)了一些問題。首先是一些庫文件的位置問題,這兩個庫文件是libodbcmyS.so和libmyodbc.so,它們一般位于/usr/local/lib目錄之下。而在安裝過程中,odbcinst.ini配置文件中指示這兩個文件的位置卻在usr/lib目錄之下。所以需要對/etc/odbcinst.ini文件進行一些編輯。編輯完成后,我的odbcinst.ini文件內(nèi)容如下所示:
[MySQL]
Description = ODBC Driver for MySQL
Driver = /usr/local/lib/libmyodbc.so
Setup = /usr/local/lib/libodbcmyS.so
FileUsate = 1
CPTimeout =
CPReuse =
然后再創(chuàng)建一個/etc/odbc.ini文件,內(nèi)容如下所示:
Description = MySQL database test
Driver = MySQL
Server = localhost
Database = test
Port = 3306
Socket =
Option =
Stmt =
[MySQL-test]
但是,當我按照手冊完成這個文件時,發(fā)現(xiàn)原來unixODBC已經(jīng)建好了這個文件,不過它不在/etc目錄之下,而是在/usr/local/etc目錄下。于是我把上述兩個編輯好的文件拷貝至該目錄中。
此外,安裝庫unixODBC時還需要KDE軟件開發(fā)工具包(其中已經(jīng)包含了Qt)和X軟件開發(fā)工具包,否則安裝過程將無法進行下去。如果沒有安裝該軟件包,那么可以選擇:開始選單→系統(tǒng)工具→軟件包。這時就會啟動Red Hat軟件包管理工具,選中上述兩項內(nèi)容(如圖1所示),點擊確定進行安裝。(未完)
雖然已經(jīng)成功,但是我還是不覺得輕松,畢竟這個方法過于復雜。于是,我開始尋求更簡單的解決辦法。工夫不負有心人,最后,我終于找到了解決的辦法,也就是我將要給大家介紹的方法二。
安裝配置方法二
這種方法的基本思想是,通過RHN讓Red Hat自己進行軟件更新和依賴性的檢查,至于如何設置RHN,請參考本刊2003年第1期“使用RHN讓Red Hat Linux自動更新”的文章。
在Red Hat 8.0中,安裝的步驟如下:
第一步 up2date mysql mysql-server and mysql-devel
如果網(wǎng)速足夠快,那么這個步驟也不會花太多的時間。
第二步 /usr/bin/mysql_install_db
第三步 chown -R mysql.mysql /var/lib/mysql
第四步 chmod -R 666 /var/lib/mysql
第五步 /usr/bin/safe_mysqld-u mysql &
第六步 up2date unixODBC unixODBC-devel
第七步 up2date --src MyODBC
第八步 rpmbuild --rebuild /var/spool/up2date/MyODBC-2.50.39-7.src.rpm
第九步 rpm -Uvh --force /usr/src/redhat/RPMS/i386/MyODBC-2.50.39-7.i386.rpm
第十步 參照方法一編輯/etc/odbc.ini和/etc/odbcinst.ini
但是不知是什么原因,每次當我使用up2date列表中的軟件包時都有一些問題。也許是某一次的安裝過程中,我沒有清理好系統(tǒng),或者是當目錄樹下有如此多的軟件包時,up2date無法正確應對。不管怎么說,我還是正確完成了安裝。
小結
現(xiàn)在再來做另外一件事情,就是從剛建立的表中提取內(nèi)容,并且打印地址標簽。完成這個步驟花費了我大量的時間。按照幫助系統(tǒng)的指示,我大概了解了配置的過程,但是最后沒有成功。并且,這個配置過程非常的不直觀,更何況有的步驟根本就無法正常工作。
為此,我在網(wǎng)上進行了大量檢索,并且分別到OpenOffice.org和MySQL的論壇中進行了提問,但問題都沒有得到解決。功夫不負有心人,最后我終于獲知原來出錯的原因居然是OpenOffice.org的幫助系統(tǒng)文件檔有一些錯誤。我終于找到了可以讓它正常工作的方法。
當我第一次嘗試打印地址標簽時,MySQL提示出錯信息:“Too many connections.”,原來頁面中的每一個標簽都需要一個自己的連接。于是,我做了兩件事情來解決這個問題。首先,把下面這些加入到了/etc/my.cnf的MySQL章節(jié)中:
set-variable = max_connections=200
中止了正在運行的進程之后,在重新啟動之前執(zhí)行了su mysql。我在網(wǎng)上看到有一個MySQL開發(fā)人員建議,如果不以root身份來啟動mysqld的話可以解決“Too many connection”的問題。于是我以MySQL的身份重新啟動了mysql,并且在命令行中加入了一個用戶參數(shù)。這樣改變以后,數(shù)據(jù)庫的訪問就正常了。當然,到底哪一個方法有效還要經(jīng)過一些實驗。
整個使用過程中,我的感覺是OpenOffice.org要遠比我想象的復雜和強大得多,它可以和各種數(shù)據(jù)庫管理系統(tǒng)一起工作。如果你的SOHO辦公環(huán)境需要數(shù)據(jù)庫訪問和操作,那么我建議不要馬上切換至OpenOffice.org,而是先對其進行測試,看一看其是否可以滿足你的需求。需要指出的是,任何軟件無論是代碼還是文檔,都會有一些錯誤,所以不要對使用過程中出現(xiàn)的一些問題大加抱怨,應該以更積極的態(tài)度來發(fā)現(xiàn)和解決問題。