MySQL金典培訓(xùn)教程:12思考題參考答案_第1頁
MySQL金典培訓(xùn)教程:12思考題參考答案_第2頁
MySQL金典培訓(xùn)教程:12思考題參考答案_第3頁
MySQL金典培訓(xùn)教程:12思考題參考答案_第4頁
MySQL金典培訓(xùn)教程:12思考題參考答案_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、思考題參考答案第二章2、在Win32平臺(tái)上運(yùn)行分發(fā)包中的setup.exe程序,安裝MySQL系統(tǒng)后,就自動(dòng)初始化授權(quán)表。對(duì)于Uniix平臺(tái)臺(tái),運(yùn)行行腳本mmysqql_iinsttalll_dbb,之前前應(yīng)該首首先切換換到啟動(dòng)動(dòng)myssqldd的用戶戶,例如如myssql:#su mmysqql$mysqql_iinsttalll_dbb安裝授權(quán)表表之后修修改rooot用用戶的密密碼,由由于初始始化后存存在兩個(gè)個(gè)從loocallhosst和任任意主機(jī)機(jī)連接的的rooot用戶戶,所以以推薦使使用下面面的辦法法:$myssql -u rooot mmysqql(由于于現(xiàn)在不不存在密密碼,因因此不

2、比比提供-p選項(xiàng)項(xiàng))mysqql UPDDATEE usser SETT paasswwordd=paasswwordd(“myppasss”) WWHERRE UUserr=rooot;3、使用如如下命令令更改密密碼:shelll mmysqqladdminn -uu rooot -p passswoord newwpasssEnterr Paasswwordd:*出現(xiàn)Entter Passswoord的的提示后后輸入原原來的密密碼olldpaass即即可。讀者可以嘗嘗試其它它所有本本章介紹紹的方法法。4、首先以以rooot用戶戶的身份份連接到到服務(wù)器器:shelll mmysqql -u

3、rroott -pp Enterr paasswwordd:*出現(xiàn)Entter passswoord提提后輸入入rooot用戶戶的密碼碼,然后后即進(jìn)入入myssql客客戶機(jī)的的交互模模式,可可以看到到下面的的提示:Welcoome to thee MyySQLL moonittor. CCommmandds eend witth ; orr gg.Your MySSQL connnecctioon iid iis 44 too seerveer vverssionn: 33.233.255-beeta-loggType heelp; oor h foor hhelpp. TTypee c to

4、 cleear thee buuffeermysqll然后發(fā)布查查詢,直直接鍵入入題目中中的語句句:mysqll SSELEECT Useer,HHostt FRROM myssql.useer;應(yīng)該有類似似于下面面的結(jié)果果:+-+-+| Useer | HHostt |+-+-+| rooot | % | admmin | llocaalhoost | rooot | llocaalhoost |+-+-+5、在全局局選項(xiàng)文文件(UUnixx上位于于/ettc/mmy.ccnf,WWinddowss上位于于c:ff)中加加入下面面的幾行行:mysqqluser=roootpasswwordd

5、然后在運(yùn)行行myssql客客戶程序序,就不不必提供供參數(shù):shelll mmysqqlEnterr Paasswwordd:*你可以查看看當(dāng)前的的連接,以以確定是是否是如如此:mysqll SSHOWW PRROCEESSLLISTT;+-+-+-+-+-+-+-+-+| Id | UUserr | Hosst | db | Coommaand | TTimee | Staate | IInfoo |+-+-+-+-+-+-+-+-+| 4 | rroott | loccalhhostt | NULLL | Quueryy | 00 | NULLL | SSHOWW PRROCEESSLLIS

6、TT |+-+-+-+-+-+-+-+-+第三章2、連接服服務(wù)器的的命令為為:shelllmmysqql -h t -u rroott -pp teestEnteer PPasssworrd:*如果使用選選項(xiàng)文件件,將下下面幾行行加入全全局選項(xiàng)項(xiàng)文件中中:myssqlhostt=daatabbasee.hoorstt.zooo.nnetuserr=roootpasssworrd然后可以直直接運(yùn)行行myssql,不不比提供供連接參參數(shù):shelll myssqlEnteer PPasssworrd:*3、創(chuàng)建表表的語句句為:CREAATE TABBLE pett(namme CCHARR(300

7、),ownner CHAAR(330),speeciees CCHARR(100),sexx ENNUM(“M”,”F”) NNOT NULLL,birrth DATTE,deaath DATTE)4、如下錄錄入文件件pett.txxt,段段與段用用制表符符分隔FlufffyHarrolddcattF19993-002-004NClawssGweencattM19994-003-117NBuffyyHarroldddoggF19889-005-113NChirppyGweenbirrdF19998-009-111NFangBennnydoggM19990-008-227NBowseerDiaa

8、nedoggM19990007-229WhisttlerrGweenbirrdN19997-112-009NSlimBennnysnaakeM19996-004-229NPuffbballlDiaanehammsteerF19999-003-330N 然后連接服服務(wù)器,發(fā)發(fā)布查詢?cè)儯簃ysqll LLOADD DAATA INFFILEE“pett.txxt” INNTO TABBLE pett;由于缺省時(shí)時(shí),LOOAD DATTA 語語句以特特殊字符符n作為記記錄的結(jié)結(jié)束,這這和Unnix系系統(tǒng)的文文本編輯輯器以n為換行行符是一一致的,但但是在WWinddowss

9、系統(tǒng)中中,換行行符是rn,因此此,如果果是在WWinddowss系統(tǒng)編編輯的文文件,那那么上面面的語句句不能成成功的錄錄入數(shù)據(jù)據(jù),要做做如下的的修改:mysqll LLOADD DAATA INFFILEE “pett.txxt” INNTO TABBLE pett- LLINEES TTERMMINAATEDD BYY rn;如果使用mmysqqlimmporrt程序序,相應(yīng)應(yīng)的命令令行為:shelll mmysqqlimmporrt ttestt pett.ttt或者使用:shelll mmysqqlimmporrt ttestt pett.ttt-llinees-ttermminaate

10、dd-byy=rnn第四章創(chuàng)建表:mysqll CCREAATE TABBLE ex44 - ( - ddataa FLLOATT, - bbirtth DDATEETIMME - );錄入數(shù)據(jù):mysqll IINSEERT ex44 VAALUEES(RRANDD(),NOWW();多錄入幾個(gè)個(gè)數(shù)據(jù),現(xiàn)現(xiàn)有的數(shù)數(shù)據(jù)為:mysqll sseleect * ffromm exx4;+-+-+| datta | bbirtth |+-+-+| 0.88303329 | 220011-011-011 211:211:100 | 0.55311143 | 220011-011-011 211:211

11、:122 | 0.11647729 | 220011-011-011 211:211:133 | 0.22302213 | 220011-011-011 211:211:144 |+-+-+data列列的平均均值:mysqll SSELEECT AVGG(daata) ASS avveraage FROOM eex4;+-+| aveeragge |+-+| 0.4439110377784451668 |+-+dataa列的總總和:mysqll SSELEECT SUMM(daata) ASS ssum of datta FROOM eex4;+-+| summ off daata |+-+|

12、 1.775644151113880677 |+-+mysqll SSELEECT MAXX(daata) ASS mmax of datta,MINN(daata) ASS mmin of datta- FRROM ex44;+-+-+| maxx off daata | miin oof ddataa |+-+-+| 0.8830332944777787002 | 0.164472887455818814 |+-+-+dataa列降序序排列:mysqll SSELEECT * FFROMM exx4 OORDEER BBY ddataa DEESC;+-+-+| datta | bbirt

13、th |+-+-+| 0.88303329 | 220011-022-188 211:211:100 | 0.55311143 | 220011-022-188 211:211:122 | 0.22302213 | 220011-022-188 211:211:144 | 0.11647729 | 220011-022-188 211:211:133 |+-+-+使用標(biāo)準(zhǔn)SSQL模模式匹配配:mysqll sseleect * ffromm exx4 wwherre bbirtth llikee 220011-011-011%;+-+-+| datta | bbirtth |+-+-+| 0.

14、88303329 | 220011-011-011 211:211:100 | 0.55311143 | 220011-011-011 211:211:122 | 0.11647729 | 220011-011-011 211:211:133 | 0.22302213 | 220011-011-011 211:211:144 |+-+-+使用擴(kuò)張張正則表表達(dá)式模模式匹配配:mysqll sseleect * ffromm exx4 wwherre bbirtth RREGEEXP 220011-011-011;+-+-+| datta | bbirtth |+-+-+| 0.88303329

15、| 220011-011-011 211:211:100 | 0.55311143 | 220011-011-011 211:211:122 | 0.11647729 | 220011-011-011 211:211:133 | 0.22302213 | 220011-011-011 211:211:144 |+-+-+為studdentt表創(chuàng)建建索引:mysqll AALTEER TTABLLE sstuddentt - ADDD PPRIMMARYY KEEY(iid),- ADDD IINDEEX mmarkk(enngliish,chiinesse,hhisttoryy);這樣查看創(chuàng)創(chuàng)

16、建的索索引:mysqll SSHOWW INNDEXX FRROM stuudennt;+-+-+-+-+-+-| Tabble | Noon_uuniqque | KKey_namme | Seeq_iin_iindeex | Coolummn_nnamee |.+-+-+-+-+-+-| stuudennt | 0 | PPRIMMARYY | 1 | idd |.| stuudennt | 1 | mmarkk | 1 | enngliish |.| stuudennt | 1 | mmarkk | 2 | chhineese |.| stuudennt | 1 | mmarkk | 3

17、 | hiistoory |.+-+-+-+-+-+-為pet表表創(chuàng)建索索引,這這次使用用另一種種方法:mysqll CCREAATE INDDEX namme OON ppet (naame(10),owwnerr(100);查看創(chuàng)建建的索引引的情況況:mysqql SHOOW IINDEEX FFROMM peet;+-+-+-+-+-+-| Tabble | NNon_uniiquee | Keyy_naame | SSeq_in_inddex | CColuumn_namme |.+-+-+-+-+-+-| pett | 11 | namme | 1 | nnamee |.| pett

18、 | 11 | namme | 2 | oowneer |.+-+-+-+-+-+-4、刪除ppet表表的索引引:mysqql DROOP IINDEEX nnamee ONN peet;或者可以以:mysqll AALTEER TTABLLE ppet DROOP IINDEEX nnamee; 然后再用SSHOWW語句產(chǎn)產(chǎn)看可知知mysqll sshoww inndexx frrom pett;Emptyy seet (0.001 ssec)第五章shelll mmysqqlduump -aall-dattabaase -oopt ddataa.sqqlshelll mmysqqlduum

19、p -ttab=”./bbak” teest創(chuàng)建數(shù)據(jù)庫庫tesst1mysqll CCREAATE DATTABAASE tesst1;恢復(fù)表的結(jié)結(jié)構(gòu)shelll mmysqql ttestt1 mmysqqlimmporrt ttestt1 ./baak/ppet.txtt在Win332平臺(tái)臺(tái)上,你你必須一一個(gè)個(gè)的的恢復(fù)文文件,在在Uniix平臺(tái)臺(tái)上,可可以通過過sheell的的文件匹匹配的功功能,簡(jiǎn)簡(jiǎn)化命令令行:$myssql tesst1 IINSEERT pett SEET nnamee=ttes;mysqll DDELEETE FROOM ppet WHEERE namme=tess

20、;相應(yīng)的在更更新日志志中增加加的記錄錄為:use ttestt;INSERRT ppet SETT naame=tees;DELETTE FFROMM peet WWHERRE nnamee=ttes;然后我們刪刪除teest11數(shù)據(jù)庫庫:mysqll ddropp daatabbasee teest110;相應(yīng)的更新新日志中中的內(nèi)容容為:drop dattabaase tesst100;為了恢復(fù)數(shù)數(shù)據(jù)庫,假假設(shè)更新新日志的的文件名名是wxxy.0058,假假定該日日志包括括第四題題中更新新日志的的內(nèi)容。首先刪除更更新日志志中刪除除數(shù)據(jù)庫庫的記錄錄,然后后用下面面的語句句恢復(fù)數(shù)數(shù)據(jù)庫表表:sh

21、elll mmysqql -onne-ddataabsee teest11LOOCK TABBLE pett REEAD;清空緩存:mysqllFLLUSHH TAABLEES;檢查表:shelll mmyissamcchk /paath/to/pett (在在我的主主機(jī)上,為為./datta/ttestt/peet)釋放表鎖mysqllUNNLOCCK TTABLLES;2、創(chuàng)建數(shù)數(shù)據(jù)庫的的方法是是:mysqll CCREAATE DATTABAASE tesst2;mysqll CCREAATE TABBLE pett SEELECCT * FRROM teest.pett;恢復(fù)數(shù)據(jù)庫庫的

22、方法法是:由于表的描描述文件件被刪除除,因此此我們可可以創(chuàng)建建一個(gè)具具有相同同結(jié)構(gòu)的的表:mysqll CCREAATE TABBLE pett1();為了節(jié)省時(shí)時(shí)間,由由于本題題只是一一個(gè)演示示,所以以你還可可以從ttestt.peet中恢恢復(fù)表的的結(jié)構(gòu):mysqll CCREAATE TABBLE pett1 SSELEECT * FFROMM teest.pett WHHEREE 0;然后,進(jìn)入入數(shù)據(jù)庫庫目錄,把把pett1.ffrm文文件復(fù)制制為peet.ffrm文文件,完完成操作作即可。3、備份過過程在正正文中有有詳細(xì)敘敘述。此此處略。第七章1、原因是是: 先考慮一下下myssql_

23、insstalll_ddb如何何建立初初始權(quán)限限表和服服務(wù)器如如何使用用useer表記記錄匹配配客戶連連接。在在你用mmysqql_iinsttalll_dbb初始化化你的數(shù)數(shù)據(jù)庫時(shí)時(shí),它創(chuàng)創(chuàng)建類似似這樣的的useer表:HostUUserr locallhossthorstt.zooo.nnetlocallhossthorstt.zooo.nnet roootroot頭兩個(gè)記錄錄允許rroott指定llocaalhoost或或主機(jī)名名連接本本地服務(wù)務(wù)器,后后兩個(gè)允允許匿名名用戶從從本地連連接。當(dāng)當(dāng)增加ffox用用戶后,Host Useer locallhossthorstt.zooo.nne

24、tlocallhossthorstt.zooo.nnet%.zooo.neetroootrootfox 在服務(wù)器啟啟動(dòng)時(shí),它它讀取記記錄并排排序它們們(首先先按主機(jī)機(jī),然后后按主機(jī)機(jī)上的用用戶),越越具體越越排在前前面:Host Useer locallhosstlocallhossthorstt.zooo.nnethorstt.zooo.nnet%.zooo.neetroootrootfox 有l(wèi)ocaalhoost的的兩個(gè)記記錄排在在一起,而而對(duì)rooot的的記錄排排在第一一,因?yàn)闉樗瓤湛罩蹈呔唧w。t的記錄錄也類似似。所有有這些均均是沒有有任何通通配符的的字面上上的Hoost值值,所以

25、以它們排排在對(duì)ffox記記錄的前前面,特特別是匿匿名用戶戶排在ffox之之前。結(jié)果是在ffox試試圖從llocaalhoost連連接時(shí),HHostt列中的的一個(gè)空空用戶名名的記錄錄在包含含%.ssnakke.nnet的的記錄前前匹配。該該記錄的的口令是是空的,因因?yàn)槿笔∈〉哪涿脩魶]沒有口令令。因?yàn)闉樵趂oox連接接時(shí)指定定了一個(gè)個(gè)口令,由由一個(gè)錯(cuò)錯(cuò)配且連連接失敗敗。這里要記住住的是,雖雖然用通通配符指指定用戶戶可以從從其連接接的主機(jī)機(jī)是很方方便。但但你從本本地主機(jī)機(jī)連接時(shí)時(shí)會(huì)有問問題,只只要你在在tabble表表中保留留匿名用用戶記錄錄。一般地,建建議你刪刪除匿名名用戶記記錄:mysqll

26、 DDELEETE FROOM uuserr WHHEREE Usser=;更進(jìn)一步,同同時(shí)刪除除其他授授權(quán)表中中的任何何匿名用用戶,有有Useer列的的表有ddb、ttablles_priiv和ccoluumnss_prriv。2、應(yīng)該給給用戶分分配全局局的REELOAAD、SSHUTTDOWWN權(quán)限限,使用用GRAANT語語句:mysqll GGRANNT RRELOOAD,SHUUTDOOWN ON *.* TOO addminnloocallhosst - INNDENNTIFFIEDD BYY “myppasss”;使用直接修修改授權(quán)權(quán)表的方方法:mysqll IINSEERT my

27、ssql.useer(UUserr,Hoost,Passswoord,Relloadd_prriv,Shuutdoown_priiv)- VALLUESS(“amiin”,”loccalhhostt”,PAASSWWORDD(“myppasss”),YY,Y);3、由于該該用戶只只在usser表表中有權(quán)權(quán)限記錄錄,所以以只要?jiǎng)h刪除該記記錄即可可:myssql DEELETTE FFROMM myysqll.usser WHEERE Useer=”admmin”;4、創(chuàng)建建數(shù)據(jù)庫庫myssql CRREATTE DDATAABASSE mmarkk;創(chuàng)建用用戶并授授權(quán):mysqll GGRANNT SSELEECT,DROOP,CCREAA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論