資源描述:
《關(guān)于編譯安裝mysql解說(shuō)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、關(guān)于編譯安裝MySQL解說(shuō)MySQL是一個(gè)開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。那么怎樣編譯安裝MySQL數(shù)據(jù)庫(kù)同時(shí)支持多個(gè)字符集??專職優(yōu)化、域名注冊(cè)、網(wǎng)站空間、虛擬主機(jī)、服務(wù)器托管、vps主機(jī)、服務(wù)器租用的中國(guó)信息港來(lái)為你解說(shuō)!一、mysql的多字符集支持1、設(shè)置mysqld服務(wù)同時(shí)支
2、持多個(gè)字符集將mysqld服務(wù)的默認(rèn)字符集改為utf8,并同時(shí)支持latin1、gbk、gb2312、big5、ascii字符集??梢詾椴煌臄?shù)據(jù)庫(kù)、表使用不同的字符集編碼。Step1:./configure步驟時(shí)需增加字符集支持選項(xiàng),例如:shell>./configure--with-charset=utf8--with-collation=utf8_bin--with-extra-charsets=big5,ascii,gb2312,gbk,utf8,latin1//默認(rèn)的字符集缺省為latin1。//其
3、中,utf8對(duì)應(yīng)可用的collation值為:utf8_bin、utf8_general_ci、utf8_unicode_ci//extra支持也可以使用"--with-extra-charsets=all"。Step2:在make步驟之前,修改config.h頭文件,查找utf8、gbk、gb2312等定義字符集變量的行,確認(rèn)有如下內(nèi)容(如果沒(méi)有則需要手動(dòng)添加),例如:#defineHAVE_CHARSET_ascii1#defineHAVE_CHARSET_big51#defineHAVE_CHARSET_
4、gb23121#defineHAVE_CHARSET_gbk1#defineHAVE_CHARSET_latin11#defineHAVE_CHARSET_utf81//一開(kāi)始沒(méi)有修改config.h,費(fèi)了好多功夫,"mysql>"環(huán)境中使用非默認(rèn)字符集時(shí)總報(bào)"Error1115"錯(cuò)誤:mysqld>setnamesgbk;ERROR1115(42000):Unknowncharacterset:'gbk'//后來(lái)發(fā)現(xiàn)在./configure完成后,config.h文件中并沒(méi)有自動(dòng)打開(kāi)gbk、gb2312等變量
5、定義,不得不手動(dòng)修改添加。2、驗(yàn)證mysqld服務(wù)的多字符集支持1)查看當(dāng)前mysql數(shù)據(jù)庫(kù)支持的字符集mysql>showcharacterset;2)查看對(duì)應(yīng)字符集可用的校對(duì)規(guī)則mysql>showcollationlike'gb%';mysql>showcollationlike'utf8%';3)查看當(dāng)前mysql服務(wù)器使用的默認(rèn)字符集狀態(tài)mysql>status……Servercharacterset:utf8Dbcharacterset:utf8Clientcharacterset:utf8Conn
6、.characterset:utf84)在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定使用的默認(rèn)字符集:mysql>createdatabasetestdbdefaultcharactersetutf8;mysql>showcreatedatabasetestdb;//驗(yàn)證數(shù)據(jù)庫(kù)建立信息5)在創(chuàng)建數(shù)據(jù)表時(shí)指定使用的默認(rèn)字符集:mysql>createtabletestdb.tb1(idint(10)unsignedNOTNULLAUTO_INCREMENT,namevarchar(15)NOTNULLdefault'',PRIMARYKE
7、Y(id))ENGINE=MyISAMDEFAULTCHARACTERSETgb2312;mysql>showcreatetabletestdb.tb1;//驗(yàn)證數(shù)據(jù)表建立信息6)在mysql>客戶端環(huán)境中設(shè)置使用的默認(rèn)字符集mysql>setNAMESutf8;二、設(shè)置httpd的默認(rèn)字符集1、編譯安裝時(shí),./configure步驟中增加'--enable-charset-lite'配置項(xiàng)。2、配置httpd.conf文件,在全局配置中增加"AddDefaultCharsetutf-8",使用字符集名或別名均
8、可。使用"AddDefaultCharsetoff"將關(guān)閉此功能,使用"AddDefaultCharseton"將使用apache內(nèi)部的默認(rèn)字符集iso-8859-1。常用的幾種字符集及別名對(duì)應(yīng)如下:Name--->Aliasgbkcp936gb2312chinesegb18030無(wú)utf-8無(wú)big5csbig5——詳見(jiàn):http://www.iana.org/assignments