数据库程序员面试分类真题25.docx
《数据库程序员面试分类真题25.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题25.docx(32页珍藏版)》请在课桌文档上搜索。
1、倚答题1.在MySQ1.中,如何杳看表的详细信息,例如,存储引擎、行数、更新时间等?正确答案:可以使用SHoWTAB1.ESTATUS获取表的详细信息,语法为(江南博哥)SHOWTAB1.ESTATUSFROMINdb_name1.IKE,pattern*WHEREexpr例如:(l)showtablestatusfromdb_name查询db_name数据库里所有表的信息(2)showtablestatusfromdbname1ike,IhruscG;查询db_name里Ihruse表的信息(3)showtablestatusfromdb11amc1ike,uc%,查询db_namc数据库里
2、表名以UC开头的表的信息卜面的SQ1.语句查询了nysql数据库中的user表的详细信息:数据库程序员面试分类真题25列名NameEngineVersion解释表名表的存储引擎,在MySQ1.4.1.2之前,该列的名字为TyPe表的.frm文件的版本号行存储格式(FiXed,Dynamic,Compressed.Redundant*Compact)0对于MyISAM引擎,可以是DynaImc、RowformatFixed或Compressed0动态行的行长度可变,例如Varchar或Bhb类型字段。固定行是指行长度不变,例如CharfIJInteger类型字段行的数目。对于非事务性表,这个值是
3、精确的,对于事务性引擎,这个值通常是估算的。例如MyISAM,存储精确的数目。对于其他存储引擎,比如InnoDB,本值是一Rows个大约的数,与实际值相差可达4050在这些情况卜.,使用SE1.EcTCofNT(*)来获得准确的数目。对于在INFORMATIO1.SCHEMA数据库中的表,Rows值为NU1.1./vg_row_length平均每行包括的字节数6其中,每列的含义见卜表。Datalength表数据的大小(和存储引擎有关)MaXdataIength表nJ以容纳的最大数据量(和存储引擎有关)IndexlengthData_freeAutoincrementCreatetimeUpda
4、tetimeChCCk_timcColIationChecksumCreate_optionsComment索引的大小(和存储引擎有关)对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间卜.一个AUlOincrement的值表的创建时间表的最近更新时间使用checktable或myisamchk工具检查表的最近时间表的默认字符集和字符排序规则如果启用,则对整个表的内容计算时的校验和指表创建时的其他所有选项包含了其他额外信息,对于MyISAM引擎,包含了注释。对于InnoDB引擎,则保存着InnoDB表空间的剩余空间信息。如果是一个视图,那么注释里面包含了VIEW字
5、样也可以使用informationSChema.tables表来查询,如下:SE1.ECTtablename,Engine,Version,Rowformat,tablerows,Avgrowlength,Datalength,Maxdatalength,Indexlength,Datafree,Autoincrement,Create_time,UPdate_time,Check_time,table_collation,Checksum,Create_options,table_commentFROMinformation_schema.tablesWHERETable-Sehema=my
6、sqandtable_name=,userG;2. MySQ1.的企业版和社区版的区别有哪些?正确答案:用户通常可以到官方网站下载最新版本的MySQ1.数据库。按照用户群分类,MySQ1.数据库目前分为社区版(ConImUnitySCrVer)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户:企业版是收费的,不能在线卜载,但是,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可竟性要求较高的企业客户。考点维护3. 在1.inux下安装MySQ1.有哪几种方式?它们的优缺点各有哪些?正确答案:在
7、windows下可以使用noinstll包和图形化包来安装,在1.inux下可以使用如下3种方式来安装:RPM:RedhMPachgeManiac)渴刽(BinayPjchge)螭(SourcePxkae)侬减聃,适含腑杼习期蛾*枭可触耦msE况谢的:一台册博可以减纱MySQ1.在实斥安装的辰作系维遨诃根据需要定搬mE出系蚀缆均-翎务轲以嫌多个M)SQ1.触般鞋F幽户耶鼓务品安耨皆稹而飘邮不H&台鼠务甥港安装个M)SQl已搬过艇,险不哪鞫好:不限法定碑样教嫁胡奴然驮相咻好糊AsMk静IM帆雌三,ffi:mysqldR8,VTlibmysqI:H吉文件,fl:蟒usrStarcdxpidages
8、:ZRreludemjsj-VERSK)N-0St3f.pCmy即ln-sMBQ1.-VlRSloNa的刈或用m命令jaaip喇-VERSION.Utgz:凶EIW过程WhMySQ1.-Savff4M)5Q1.-3)折蛤亿WSQ1.5.7之后用肝邱i一向蚓KTipblmySqlinstilldbCdnMqI-VERSION.oaiure-RrfiXsterlocahn网InukeA11nkeinstaD4)启动诬睥林触月2InySqitsIfe&tpasw(Hmetcmysqlf-usrlocalmysqletcmy.Cnf.ny.Cnf;在Windows卜的次序为C:WlNDOWSmy.in
9、i-C:WINDOWSf-C:my.ini-C:f-%MySQ1.安装目录(my.ini-%MySQ1.安装目录(fo如果这几个配置文件中都有同一个参数,那么MySQ1.数据库会以读取到的最后一个配置文件中的参数为准。在1.inUX环境下,配置文件般为etcf.在数据库启动的时候可以加上从指定参数文件进行启动,如下:mysqld_safe-defaults-file=etcf&MySQ1.的变量可以分为系统变量和状态变量。MySQ1.没有类似于Oracle的隐含参数,也不需要隐含参数来设置。下面分别讲解。1 .系统变量系统变量用于配置MySQ1.服务器的运行环境。系统变量按其作用域的不同可以分
10、为两种:全局(G1.OBA1.)级,对整个MySQ1.服务器有效;会话(SESSION或1.oCA1.)级,只影响当前会话。有些变量同时拥有以上两个级别,MySQ1.将在建立连接时用全局级变量初始化会活级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量。nJ以用ShOWVariabIeS查看系统变量的值,如下:mysqlshowvariableslikelog%;mysqlshowvariab1eswhereVariablejame1ikelog%andVaIUe=ON;注意:ShOWVariableS优先显示会话级变量的值,若这个值不存在,则显示全局级变量的值,当然也可以加上G
11、1.OBA1.或SESSION关键字进行区别:showglobalvariables;showsession/localvariables:在写一些存储过程时,可能需要引用系统变量的值,可以使用如下方法:购G1.oBA1.var_name鲍SESSlON.var_name的1.oCA1.var_name如果在变量名前没有级别限定符,那么将优先显示会话级的值。另外一种查看系统变量值的方法是直接查询表。对于MySQ1.5.6可以从INFORMATION_SCHEMA.G1.OBA1.VARIAB1.ES和INFORMATIONSCHEMA.SESSIONVARIABI.ES表获得:对于MySQ1.
12、5.7可以从performanceschema,globalvariables和performanceschema,sessionVariabIeS表中查询。需要注意的是,若要查询INFORMTION_SCHEMA.G1.OBA1.VARIAB1.ES或INFORMTION-SCHIMA.SESSloN.VARIAB1.ES表,则需要设置参数ShoW_ComPatibility_56的值九0N,否则会报错:ERROR3167(HYOOO):The,INFORMATION_SCHEMA.G1.OBA1.-STATUS,featureisdisabled;seethedocumentationfo
13、r,showcompatibility_56,在MySQ1.服务器启动时,可以通过以示两种方法设置系统变量的值:1)命令行参数,例如,mysqld-max_connections=20002)选项文件(my.cd)。在MySQ1.服务彝启动后,如果需要修改系统变量的值,那么可以通过SET语句:SETG1.OBA1.varname=value;SET鲍G1.OBA1.varname=value;SETSESSIONVarname=Value;SETQQSESSION.var_name=value;如果在变量名前没看级别限定符,那么表示修改会话级变量。MySQ1.的系统变量也可以分为动态(Dyna
14、mic)系统变量和静态(Static)系统变量。动态系统变量意味着可以在MySQ1.实例运行中进行更改:静态系统变量说明在整个实例生命周期内都不得进行更改,就好像是只读(ReadOnly)的。注意:和启动时不一样的是,在运行时设置的变量不允许使用后缀字母K、7等,但可以用表达式来达到相同的效果,如:SETG1.OBA1.readbuffersize=2*1024*10242 .状态变量状态变量用于监控MySQ1.服务器的运行状态,可以用ShOwSIareS查看。状态变量和系统变量类似,也分为全局级和会话级,ShoWSIatUS也支持IikC匹配杳询,不同之处在于,状态变量只能由MySQ1.服务
15、器本身设置和修改,对于用户来说是只读的,不可以通过SET语句设置和修改它们。另外,和系统变量类似,也可以通过表的方式来查询状态变量的值,MySQ1.5.6查询INFORMAT10N_SCHEMA.G1.OBA1.STATUS和INF0RMT10N_SCHEMA.SESSI0N_STATUS:MySQ1.5.7查询PerfOrmanCe_schema.session_status和performance_schema.SeSSiOn_status。考点参数5. MySQ1.查看当前使用的配置文件my.c11f的方法有哪些?正确答案:MySQ1.实例在启动时,会先读取配置参数文件f。f一般会放在M
16、ySQ1.的安装目录中,用户也可以放在其他目录加载。在安装MySQ1.后,系统中会有多个f文件,有些是用于测试的。使用“loCf”或find-naf”命令nJ以列出所有的f文件。有时候,DBA会发现虽然尝试修改了配置文件的一些变量,但是并没有生效,这其实是因为修改的文件并非MySQ1.服务器读取的配置文件。在1.inUX环境中,MySQ1.服务器读取的配置文件及路径默认为etcmy.enfetcmysqlfusretcmy.enf/f如果不清楚MySQ1.当前使用的配置文件路径,那么可以按照如下步骤来查看:(1)杳看是否使用了指定目录的my.Cnf文件在启动MySQ1.后,可以通过查看MySQ
17、1.的进程,看是否有设置使用指定目录的f文件,如果有则表示MySQ1.启动时加载了这个配置文件。命令:ps-efIgrepmysqlgrepf如果上面的命令没有输出,那么表示没有设置使用指定目录的f,若有输出则表示使用的是输出中的文件O(2)查看MySQ1.默认读取f的目录如果没有设置使用指定目录的f,MySQ1.启动时会读取安装目录根目录及默认目录下的f文件。命令:mysql-helpgrepf或mysqld-verbose-helpgrep-A1Defaultoptions*一般情况下,“etcf、etcmysqlf4usrlocaletcf、/f,就是MySQ1.默认会搜寻f的目录,顺序
18、排前的优先。(3)启动时没有使用配置文件如果没有设置使用指定目录my.Cnf文件及默认读取目录没有f文件,那么表示MySQ1.启动时并没有加载配置文件,而是使用默认配置。若需要修改配置,则可以在MySQ1.默认读取的目录中,创建一个f文件(例如,etcf),把需要修改的配置内容写入,重启MySQ1.后即可生效。如果是WindoWS安装版,那么找到相关的WindOWS服务,会看到配置了一个文件地址,如下图所示。若此处没有看到配置文件地址,则使用的是默认目录下的myCnf文件。考点参数6. MySQ1.有哪几类物理文件?正确答案:MySQ1.数据库的文件包括:1)参数文件:fo2) 志文件:包括错
19、误口志、查询口志、慢查询口志和二进制口志。3)MySQ1.表文件:用来存放MySQ1.表结构的文件,一般以.frm为后缀。4)Socket文件:当用Unix域套接字方式进行连接时需要的文件。5)Pid文件:MySQ1.实例的进程ID文件。6)存储引擎文件:每个存储引擎都有自己的文件夹来保存各种数据,这些存储引擎真正存储了数据和索引等数据。考点文件7. 什么是VySQ1.的套接字文件?正确答案:MySQ1.有两种连接方式,常用的是TCP/IP方式,如下:mysql-hl92.168.59.159-uroot-plhr还有一种是套接字方式。UniX系统下本地连接MySQ1.可以采用Unix套接字方
20、式,这种方式需要一个套接字(SoCket)文件。套接字文件就是当用套接字方式进行连接时需要的文件。套接字方式比用TCP/IP的方式更快,更安全,但只适用于MySQ1.和客户端在同一台PC上。套接字文件可由参数socket控制,般在tmp目录下,名为mysql.sock,也可以放在其他目录下,如下:叫刈swVadIbkSIie,Mxkef:YariabkjwoeValuesocketiarliblzvsql57,Djsq1.scck用套接字连接MySQ1.:mysql-plhr-Svarlibmysql57mysql.sock考点文件8. 什么是MySQ1.的Pid文件?正确答案:Pid文件是M
21、ySQ1.实例的进程ID文件。当MySQ1.实例启动时,会将自己的进程ID写入一个文件中,该文件即为Pid文件。该文件可由参数Pi1.file控制,默认路径位于数据库目录下,文件名为主机名.pid,如下:即ql$hoWVambIeS1.kcYidJIVariab!e.naeValo?pid.fi!e:lvalib,y157)sqi57l9daulJfflDfi.pid考点文件9. MySQ1.支持事务吗?正确答案:在缺省模式下,MySQ1.是AUToCOMMIT模式的,所有的数据库更新操作都会即时提交。这就表示除非显式地开始一个事务,否则每个杳询都被当作一个单独的事务自动执行。但是,如果MyS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 程序员 面试 分类 25

链接地址:https://www.desk33.com/p-1416079.html