MySQL金典培训教程:12思考题参考答案_第1页
MySQL金典培训教程:12思考题参考答案_第2页
MySQL金典培训教程:12思考题参考答案_第3页
MySQL金典培训教程:12思考题参考答案_第4页
MySQL金典培训教程:12思考题参考答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、思考题参参考答案案第二章2、在WWin332平台台上运行行分发包包中的ssetuup.eexe程程序,安安装MyySQLL系统后后,就自自动初始始化授权权表。对于Unnix平平台,运运行脚本本myssql_insstalll_ddb,之之前应该该首先切切换到启启动myysqlld的用用户,例例如myysqll:#su myssql$myssql_insstalll_ddb安装授权权表之后后修改rroott用户的的密码,由由于初始始化后存存在两个个从loocallhosst和任任意主机机连接的的rooot用户户,所以以推荐使使用下面面的办法法:$myysqll -uu rooot myssql(

2、由于于现在不不存在密密码,因因此不比比提供-p选项项)myssql UPPDATTE uuserr SEET ppasssworrd=ppasssworrd(“myppasss”) WWHERRE UUserr=rooot;3、使用用如下命命令更改改密码:shelll myssqlaadmiin -u rroott -pp paasswwordd newwpasssEnteer PPasssworrd:*出现Ennterr Paasswwordd的提示示后输入入原来的的密码ooldppasss即可。读者可以以尝试其其它所有有本章介介绍的方方法。4、首先先以rooot用用户的身身份连接接到服务务

3、器:shelll myssql -u rooot -p Enteer ppasssworrd:*出现Ennterr paasswwordd提后输输入rooot用用户的密密码,然然后即进进入myysqll客户机机的交互互模式,可可以看到到下面的的提示:Welccomee too thhe MMySQQL mmoniitorr. Commmannds endd wiith ; oor g.Yourr MyySQLL coonneectiion id is 4 tto sservver verrsioon: 3.223.225-bbetaa-loogTypee hhelpp; or hh ffor

4、hellp. Typpe c too cllearr thhe bbufffermysqql然后发布布查询,直直接键入入题目中中的语句句:mysqql SELLECTT Usser,Hosst FFROMM myysqll.usser;应该有类类似于下下面的结结果:+-+-+| Usser | Hosst |+-+-+| rooot | % | addminn | loccalhhostt | rooot | loccalhhostt |+-+-+5、在全全局选项项文件(UUnixx上位于于/ettc/mmy.ccnf,WWinddowss上位于于c:ff)中加加入下面面的几行行:myssql

5、userr=roootpasssworrd然后在运运行myysqll客户程程序,就就不必提提供参数数:shelll myssqlEnteer PPasssworrd:*你可以查查看当前前的连接接,以确确定是否否是如此此:mysqql SHOOW PPROCCESSSLISST;+-+-+-+-+-+-+-+-+| Idd | Useer | Hoost | dbb | CCommmandd | Timme | Sttatee | Inffo |+-+-+-+-+-+-+-+-+| 44 | rooot | loocallhosst | NUULL | QQuerry | 0 | NUULL |

6、 SHOOW PPROCCESSSLISST |+-+-+-+-+-+-+-+-+第三章2、连接接服务器器的命令令为:sheellmyssql -h t -u rroott -pp teestEntter Passswoord:*如果使用用选项文文件,将将下面几几行加入入全局选选项文件件中:myysqllhosst=tuseer=rroottpassswoord然后可以以直接运运行myysqll,不比比提供连连接参数数:sheell myysqllEntter Passswoord:*3、创建建表的语语句为:CREEATEE TAABLEE peet(naame CHAAR(330),owwn

7、err CHHAR(30),sppeciies CHAAR(110),seex EENUMM(“M”,”F”) NNOT NULLL,biirthh DAATE,deeathh DAATE)4、如下下录入文文件peet.ttxt,段段与段用用制表符符分隔FlufffyHarrolddcattF19993-002-004NClawwsGweencattM19994-003-117NBufffyHarroldddoggF19889-005-113NChirrpyGweenbirrdF19998-009-111NFanggBennnydoggM19990-008-227NBowsserDiaaned

8、oggM19990007-229WhisstleerGweenbirrdN19997-112-009NSlimmBennnysnaakeM19996-004-229NPufffballlDiaanehammsteerF19999-003-330N 然后连接接服务器器,发布布查询:mysqql LOAAD DDATAA INNFILLE“pett.txxt” INNTO TABBLE pett;由于缺省省时,LLOADD DAATA 语句以以特殊字字符n作为记记录的结结束,这这和Unnix系系统的文文本编辑辑器以n为换行行符是一一致的,但但是在WWinddowss系统

9、中中,换行行符是rn,因此此,如果果是在WWinddowss系统编编辑的文文件,那那么上面面的语句句不能成成功的录录入数据据,要做做如下的的修改:mysqql LOAAD DDATAA INNFILLE “pett.txxt” INNTO TABBLE pett- LINNES TERRMINNATEED BBY rn;如果使用用myssqliimpoort程程序,相相应的命命令行为为:shelll myssqliimpoort tesst pett.ttt或者使用用:shelll myssqliimpoort tesst pett.ttt-llinees-ttermminaatedd-byy

10、=rnn第四章创建表:mysqql CREEATEE TAABLEE exx4 - ( - datta FFLOAAT, - birrth DATTETIIME - );录入数据据:mysqql INSSERTT exx4 VVALUUES(RANND(),NOOW();多录入几几个数据据,现有有的数据据为:mysqql sellectt * froom eex4;+-+-+| daata | birrth |+-+-+| 0.83003299 | 20001-001-001 221:221:110 | 0.53111433 | 20001-001-001 221:221:112 | 0.16

11、447299 | 20001-001-001 221:221:113 | 0.23002133 | 20001-001-001 221:221:114 |+-+-+dataa列的平平均值:mysqql SELLECTT AVVG(ddataa) AAS aaverragee FRROM ex44;+-+| avveraage |+-+| 0.439910337788451168 |+-+datta列的的总和:mysqql SELLECTT SUUM(ddataa) AAS summ off daata FRROM ex44;+-+| suum oof ddataa |+-+| 1.756641

12、55113380667 |+-+mysqql SELLECTT MAAX(ddataa) AAS maxx off daata,MIIN(ddataa) AAS minn off daata- FFROMM exx4;+-+-+| maax oof ddataa | mmin of datta |+-+-+| 0.830032994777787702 | 00.1664722874458118144 |+-+-+datta列降降序排列列:mysqql SELLECTT * FROOM eex4 ORDDER BY datta DDESCC;+-+-+| daata | birrth |+-+-

13、+| 0.83003299 | 20001-002-118 221:221:110 | 0.53111433 | 20001-002-118 221:221:112 | 0.23002133 | 20001-002-118 221:221:114 | 0.16447299 | 20001-002-118 221:221:113 |+-+-+使用标准准SQLL模式匹匹配:mysqql sellectt * froom eex4 wheere birrth likke 20001-001-001%;+-+-+| daata | birrth |+-+-+| 0.83003299 | 20001-0

14、01-001 221:221:110 | 0.53111433 | 20001-001-001 221:221:112 | 0.16447299 | 20001-001-001 221:221:113 | 0.23002133 | 20001-001-001 221:221:114 |+-+-+使用扩扩张正则则表达式式模式匹匹配:mysqql sellectt * froom eex4 wheere birrth REGGEXPP 20001-001-001;+-+-+| daata | birrth |+-+-+| 0.83003299 | 20001-001-001 221:221:110

15、 | 0.53111433 | 20001-001-001 221:221:112 | 0.16447299 | 20001-001-001 221:221:113 | 0.23002133 | 20001-001-001 221:221:114 |+-+-+为stuudennt表创创建索引引:mysqql ALTTER TABBLE stuudennt - AADD PRIIMARRY KKEY(id),- AADD INDDEX marrk(eengllishh,chhineese,hisstorry);这样查看看创建的的索引:mysqql SHOOW IINDEEX FFROMM stt

16、udeent;+-+-+-+-+-+-| Taablee | NNon_uniiquee | Keyy_naame | SSeq_in_inddex | CColuumn_namme |.+-+-+-+-+-+-| sttudeent | 00 | PRIIMARRY | 1 | iid |.| sttudeent | 11 | marrk | 1 | eengllishh |.| sttudeent | 11 | marrk | 2 | cchinnesee |.| sttudeent | 11 | marrk | 3 | hhisttoryy |.+-+-+-+-+-+-为pett表创建建

17、索引,这这次使用用另一种种方法:mysqql CREEATEE INNDEXX naame ON pett (nnamee(100),oowneer(110);查看创创建的索索引的情情况:myssql SHHOW INDDEX FROOM ppet;+-+-+-+-+-+-| Taablee | Nonn_unniquue | Keey_nnamee | Seqq_inn_inndexx | Collumnn_naame |.+-+-+-+-+-+-| peet | 1 | naame | 11 | namme |.| peet | 1 | naame | 22 | ownner |.+-+-

18、+-+-+-+-4、删除除pett表的索索引:myssql DRROP INDDEX namme OON ppet;或者可可以:mysqql ALTTER TABBLE pett DRROP INDDEX namme; 然后再用用SHOOW语句句产看可可知mysqql shoow iindeex ffromm peet;Emptty sset (0.01 secc)第五章shelll myssqlddumpp -alll-daatabbasee -optt datta.ssqlshelll myssqlddumpp -tabb=”./bbak” teest创建数据据库teest11mysqql

19、 CREEATEE DAATABBASEE teest11;恢复表的的结构shelll myssql tesst1 myssqliimpoort tesst1 ./bbak/pett.txxt在Winn32平平台上,你你必须一一个个的的恢复文文件,在在Uniix平台台上,可可以通过过sheell的的文件匹匹配的功功能,简简化命令令行:$myysqll teest11 INSSERTT peet SSET namme=tess;mysqql DELLETEE FRROM pett WHHEREE naame=tees;相应的在在更新日日志中增增加的记记录为:use tesst;INSEERT p

20、ett SEET nnamee=ttes;DELEETE FROOM ppet WHEERE namme=tess;然后我们们删除ttestt1数据据库:mysqql droop ddataabasse ttestt10;相应的更更新日志志中的内内容为:dropp daatabbasee teest110;为了恢复复数据库库,假设设更新日日志的文文件名是是wxyy.0558,假假定该日日志包括括第四题题中更新新日志的的内容。首先删除除更新日日志中删删除数据据库的记记录,然然后用下下面的语语句恢复复数据库库表:shelll myssql -oone-dattabsse ttestt1LLOCKK

21、 TAABLEE peet RREADD;清空缓存存:mysqqlFFLUSSH TTABLLES;检查表:shelll myiisammchkk /ppathh/too/peet (在我的的主机上上,为./ddataa/teest/pett)释放表锁锁mysqqlUUNLOOCK TABBLESS;2、创建建数据库库的方法法是:mysqql CREEATEE DAATABBASEE teest22;mysqql CREEATEE TAABLEE peet SSELEECT * FFROMM ttestt.peet;恢复数据据库的方方法是:由于表的的描述文文件被删删除,因因此我们们可以创创建一

22、个个具有相相同结构构的表:mysqql CREEATEE TAABLEE peet1();为了节省省时间,由由于本题题只是一一个演示示,所以以你还可可以从ttestt.peet中恢恢复表的的结构:mysqql CREEATEE TAABLEE peet1 SELLECTT * FROOM ttestt.peet WWHERRE 00;然后,进进入数据据库目录录,把ppet11.frrm文件件复制为为pett.frrm文件件,完成成操作即即可。3、备份份过程在在正文中中有详细细叙述。此处略略。第七章1、原因因是: 先考虑一一下myysqll_innstaall_db如如何建立立初始权权限表和和服

23、务器器如何使使用usser表表记录匹匹配客户户连接。在你用用myssql_insstalll_ddb初始始化你的的数据库库时,它它创建类类似这样样的usser表表:HosttUseer t roootroott头两个记记录允许许rooot指定定loccalhhostt或主机机名连接接本地服服务器,后后两个允允许匿名名用户从从本地连连接。当当增加ffox用用户后,Hostt Usser t%.zooo.nnetrroottroottfox 在服务器器启动时时,它读读取记录录并排序序它们(首首先按主主机,然然后按主主机上的的用户),越越具体越越排在前前面:Hostt Usser t%.zooo.n

24、netrroottroottfox 有loccalhhostt的两个个记录排排在一起起,而对对rooot的记记录排在在第一,因因为它比比空值更更具体。horrst.zooo.neet的记记录也类类似。所所有这些些均是没没有任何何通配符符的字面面上的HHostt值,所所以它们们排在对对foxx记录的的前面,特特别是匿匿名用户户排在ffox之之前。结果是在在foxx试图从从loccalhhostt连接时时,Hoost列列中的一一个空用用户名的的记录在在包含%.snnakee.neet的记记录前匹匹配。该该记录的的口令是是空的,因因为缺省省的匿名名用户没没有口令令。因为为在foox连接接时指定定了一

25、个个口令,由由一个错错配且连连接失败败。这里要记记住的是是,虽然然用通配配符指定定用户可可以从其其连接的的主机是是很方便便。但你你从本地地主机连连接时会会有问题题,只要要你在ttablle表中中保留匿匿名用户户记录。一般地,建建议你删删除匿名名用户记记录:mysqql DELLETEE FRROM useer WWHERRE UUserr=;更进一步步,同时时删除其其他授权权表中的的任何匿匿名用户户,有UUserr列的表表有dbb、taablees_pprivv和coolummns_priiv。2、应该该给用户户分配全全局的RRELOOAD、SHUUTDOOWN权权限,使使用GRRANTT语句

26、:mysqql GRAANT RELLOADD,SHHUTDDOWNN ONN *.* TTO aadmiinllocaalhoost - IINDEENTIIFIEED BBY “myppasss”;使用直接接修改授授权表的的方法:mysqql INSSERTT myysqll.usser(Useer,HHostt,Paasswwordd,Reeloaad_pprivv,Shhutddownn_prriv)- VAALUEES(“amiin”,”loccalhhostt”,PAASSWWORDD(“myppasss”),YY,Y);3、由于于该用户户只在uuserr表中有有权限记记录,所所以只要要删除该该记录即即可:myysqll DDELEETE FROOM mmysqql.uuserr WHHEREE Usser=”admmin”;4、创创建数据据库myysqll CCREAATE DATTABAASE marrk;创建建用户并并授权:mysqql GRAANT SELLECTT,DRROP,CREEATEE,INNSERRT, -

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论