MySQL數(shù)據(jù)庫(kù)服務(wù)器的配置
隨著互聯(lián)網(wǎng)的發(fā)展和自由軟件軟件的日益活躍,越來(lái)越多的人開(kāi)始將各種數(shù)據(jù)庫(kù)應(yīng)用于自己的網(wǎng)絡(luò)應(yīng)用中。于是,各種各樣的數(shù)據(jù)庫(kù)系統(tǒng)出現(xiàn)在互聯(lián)網(wǎng)的舞臺(tái)上,最常見(jiàn)的數(shù)據(jù)庫(kù)有O'Reilly Network的MySQL 和PostgreSQL Inc的 PostgreSQL,在互聯(lián)網(wǎng)有著不同的應(yīng)用和用戶(hù)群。此外象oracle、sybase、infomix等大型數(shù)據(jù)庫(kù)也開(kāi)始漸漸向Linux平臺(tái)移植,使得Linux下的數(shù)據(jù)庫(kù)日益呈現(xiàn)多樣化和專(zhuān)業(yè)化的趨勢(shì)。
1.為什么要使用數(shù)據(jù)庫(kù)
為了建立交互站點(diǎn),你需要使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)來(lái)自訪問(wèn)者的信息。例如,你要建立一個(gè) 職業(yè)介紹服務(wù)的站點(diǎn),你就需要存儲(chǔ)諸如個(gè)人簡(jiǎn)歷,所感興趣的工作等等這樣的信息。 創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)也需要使用數(shù)據(jù)庫(kù),如果你想顯示符合來(lái)訪者要求的最好的工作,你就需要從數(shù)據(jù)庫(kù)中取出這份工作的信息。你將會(huì)發(fā)現(xiàn),在許多情況下需要使用數(shù)據(jù)庫(kù)。
2.如何取得數(shù)據(jù)庫(kù)軟件
現(xiàn)下流行的Linux數(shù)據(jù)庫(kù)基本都可以通過(guò)INTERNET下載的到,你可以從以下幾個(gè)地方下載MySql數(shù)據(jù)庫(kù):
Mysql:到本書(shū)出版為止,mysql的最新版本號(hào)是3.23.22
http://www.mysql.com
3. mysql的安裝和使用:
3.1.安裝前的準(zhǔn)備工作:
MySQL需要至少Linux 2.0。
MySQL的Perl支持要求Perl 5.004_03或更新。
Mysql在Linux下的安裝有兩種:1) 源碼方式的安裝,取得mysql的安裝tar包后自行編譯安裝;2〕二進(jìn)制方式的安裝,用MYSQL編譯好的二進(jìn)制文件安裝,主要是以RPM的形式進(jìn)行安裝。
二進(jìn)制分發(fā)通過(guò)在你選擇的安裝地點(diǎn)(典型的"/usr/local/mysql")解壓縮來(lái)安裝,并且在該處創(chuàng)建下列目錄(表.1):
表.1
目錄 目錄的內(nèi)容
"bin" 客戶(hù)程序和mysqld服務(wù)器
"data" 日志文件, 數(shù)據(jù)庫(kù)
"include" 包含(頭)文件
"lib" 庫(kù)文件
"scripts" mysql_install_db
"share/mysql " 錯(cuò)誤消息文件
"sql-bench" 基準(zhǔn)程序
源代碼分發(fā)在你配置并編譯后進(jìn)行安裝。缺省地,安裝步驟將文件安裝在"/usr/local"下的下<SPAN title="常規(guī)詞語(yǔ),單擊這里可以查看解釋" style="BACKGROUND-IMAGE: url(C:PROGRA~1!SUNVDFKC3000
ormmark.gif); BACKGROUND-POSITION: left bottom; BACKGROUND-REPEAT: repeat-x; CURSOR: hand" )>列子</SPAN>目錄(表.2):
表.2
目錄 目錄的內(nèi)容
"bin" 客戶(hù)程序和腳本
"include/mysql" 包含(頭)文件
"info" Info格式的文檔
"lib/mysql" 庫(kù)文件
"libexec" mysqld服務(wù)器
"share/mysql" 錯(cuò)誤消息文件
"sql-bench" 基準(zhǔn)程序和crash-me測(cè)試
"var" 數(shù)據(jù)庫(kù)和日志文件。
在一個(gè)安裝目錄內(nèi),源代碼安裝的布局在下列方面不同于二進(jìn)制安裝:
* mysqld服務(wù)器被安裝在"libexec"目錄而不是"bin"目錄內(nèi)。
* 數(shù)據(jù)目錄是"var"而非"data"。
* mysql_install_db被安裝在"/usr/local/bin"目錄而非"/usr/local/mysql/scripts"內(nèi)。
* 頭文件和庫(kù)目錄是"include/mysql"和"lib/mysql"而非"include"和"lib"。
3.2.用mysql的源碼包進(jìn)行安裝
你需要下列工具構(gòu)造并安裝MySQL源代碼:
* GNU gunzip解壓縮該分發(fā)。
* 一個(gè)合適的tar解包分發(fā)。GNU tar已知可以工作。
* 一個(gè)能運(yùn)行的ANSI C++編譯器。gcc> = 2.8.1 、egcs> = 1.0.2 、SGI C++和SunPro C++是一些已知能工作編譯器。 當(dāng)使gcc用時(shí),不需要libg++。gcc2.7.x 有一個(gè)bug,使得它可能不能編譯一些完全合法的C++文件,例如"sql/sql_base.cc"。如果你僅有g(shù)cc2.7.x,你必須升級(jí)gcc才能編譯MySQL。
* 一個(gè)優(yōu)秀的make程序。GNU make總是被推薦且有時(shí)必須。如果你有問(wèn)題,我們推薦試一試GNU make3.75或更新。
* 你要擁有系統(tǒng)的root權(quán)限。
3.2.1.快速安裝:
其實(shí)mysql源碼是個(gè)非常適合linux初學(xué)者安裝的數(shù)據(jù)庫(kù),他的快速安裝極為簡(jiǎn)便,在默認(rèn)情況下mysql是安裝在/usr/local/下的,包括他的BIN文件以及數(shù)據(jù)結(jié)構(gòu)等。
# tar zxvf tarfile.tar.gz
# cd mysql_src_dir
#./configure
#make
#make install
#make clean
這樣的快速安裝方法就把mysql安裝成系統(tǒng)的默認(rèn)狀態(tài)
3.2.2.配置安裝:
用上述的方法對(duì)源碼解包后,就可以根據(jù)自己的需要利用configure對(duì)Mysql進(jìn)行安裝配置了
1.Configure選項(xiàng):
configure腳本給你一個(gè)很大的控制權(quán)來(lái)如何配置你的MySQL。你使用configure命令行的選項(xiàng)進(jìn)行。你也可以用正確的環(huán)境變量作用于configure。對(duì)于一個(gè)由configure支持的選擇列表,運(yùn)行這個(gè)命令:
#./configure -- help
一些更常用的configure選項(xiàng)見(jiàn)下面的描述:
* 只編譯MySQL客戶(hù)庫(kù)和客戶(hù)程序而不是服務(wù)器,使用--without-server選項(xiàng):
# ./configure --without-server
如果你沒(méi)有一個(gè) C++ 編譯器,mysql將不編譯(有一個(gè)客戶(hù)程序需要C++)。在這種情況下,你可以去掉configure里面測(cè)試C++編譯器的代碼,然后運(yùn)行帶有 --without-server選項(xiàng)的./configure。編譯步驟步將仍然嘗試構(gòu)造mysql,但是你可以忽略任何關(guān)于" mysql.cc "的警告。(如果make停止,試試make -k告訴它即使出錯(cuò)繼續(xù)剩下的構(gòu)造步驟)。
* 如果你不想要位于"/usr/local/var"目錄下面的日志(log)文件和數(shù)據(jù)庫(kù),使用類(lèi)似于下列configure命令的一個(gè):
* #./configure --prefix=/usr/local/mysql
* #./configure --prefix=/usr/local --localstatedir=/usr/local/mysql/data
第一個(gè)命令改變安裝前綴以便任何東西被安裝在"/usr/local/mysql"下面而非缺省的“/usr/local”。第二個(gè)命令保留缺省安裝前綴,但是覆蓋了數(shù)據(jù)庫(kù)目錄缺省目錄(通常是"/usr/local/var")并且把它改/usr/local/mysql/data.
* 如果你正在使用Linux并且你想要MySQL的套接字位于缺省地點(diǎn)以外的某個(gè)地方(通常在目錄"/tmp"或"/var/run",使用象這樣的configure的命令:
#./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
注意給出的文件必須是一個(gè)絕對(duì)路徑!
* 如果你想編譯靜態(tài)鏈接程序運(yùn)行configure:
* #./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
* 如果你正在使用gcc并且沒(méi)有安裝libg++或libstdc++,你可以告訴configure使用gcc作為C++編譯器:
#CC=gcc CXX=gcc ./configure
當(dāng)你使用時(shí)gcc作為C++編譯器是,它將不試圖鏈接libg++或libstdc++。如果構(gòu)造失敗并且產(chǎn)生有關(guān)編譯器或鏈接器的錯(cuò)誤,不能創(chuàng)建共享庫(kù)"libmysqlclient.so.#"("#"是一個(gè)版本號(hào)), 你可以通過(guò)為configure指定--disable-shared選項(xiàng)來(lái)解決此問(wèn)題。在這種情況下,configure將不構(gòu)造一個(gè)共享libmysqlclient.so.#庫(kù)。
* 你可以設(shè)置MySQL對(duì)于非NULL的列不使用DEFAULT列值(即,不允許列是NULL)。這導(dǎo)致INSERT語(yǔ)句產(chǎn)生一個(gè)錯(cuò)誤,除非你明確地為所有要求非NULL值的列指定值。為了禁止使用缺省值,這樣運(yùn)行configure:
# CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
* 缺省地,MySQL使用ISO-8859-1(Latin1)字符集。為了改變?nèi)笔≡O(shè)置,使用--with-charset選項(xiàng)目:
#./configure -- with-charset= gb2312
CHARSET可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312 gbk、german1、hebrew、 hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7、win1251或win1251ukr之一。注意:如果你想要改變字符集,你必須在配置期間做make distclean!如果你想在服務(wù)器和客戶(hù)之間變換字符,你應(yīng)該看一下SET OPTION CHARACTER SET命令。如果你在創(chuàng)建了任何數(shù)據(jù)庫(kù)表之后改變字符集,你將必須對(duì)每個(gè)表運(yùn)行myisamchk -r -q,否則你的索引可能不正確地排序。(如果你安裝了MySQL,創(chuàng)建一些表,然后重新配置MySQL使用一個(gè)不同的字符集并且重新安裝它,這時(shí)就可能發(fā)生這種情況。)
* 為了配置MySQL帶有調(diào)試代碼,使用--with-debug選項(xiàng):
#./configure --with-debug
這導(dǎo)致包含一個(gè)安全的內(nèi)存分配器,能發(fā)現(xiàn)一些錯(cuò)誤和并提供關(guān)于正在發(fā)生的事情的輸出。
2.編譯Mysql:
配置完Mysql就可以進(jìn)行編譯了
#make
3.安裝Mysql:
#make install
這步系統(tǒng)會(huì)把mysql安裝到指定的位置,我們假設(shè)系統(tǒng)把mysql安裝到了/usr/local/下,到這就完成了Mysql系統(tǒng)的源碼方式配置、編譯和安裝了。
3.3.用RPM包進(jìn)行安裝
除了使用mysql的源碼安裝外,Mysql還提供了RPM方式
關(guān)鍵詞:MySQL,數(shù)據(jù)庫(kù)
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0