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