mysql数据库面试题

合集下载

mysql数据库面试题

mysql数据库面试题

软件⼯程师面试题-MySQL-V1.01目录前⾔5 MySQL面试题61.MySQL中有哪⼏种锁?62.MySQL中有哪些不同的表格?63.简述在MySQL数据库中MyISAM和InnoDB的区别64.MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?75.CHAR和VARCHAR的区别?76.主键和候选键有什么区别?87.myisamchk是用来做什么的?88.如果一个表有一列定义为TIMESTAMP,将发⽣什么?89.你怎么看到为表格定义的所有索引?810.LIKE声明中的%和_是什么意思?911.列对比运算符是什么?912.BLOB和TEXT有什么区别?913.MySQL_fetch_array和MySQL_fetch_object的区别是什么?914.MyISAM表格将在哪里存储,并且还提供其存储格式?915.MySQL如何优化DISTINCT?1016.如何显示前50⾏?1017.可以使用多少列创建索引?1018.NOW()和CURRENT_DATE()有什么区别?1019.什么是非标准字符串类型?1020.什么是通用SQL函数?1121.MySQL支持事务吗?1122.MySQL里记录货币用什么字段类型好1123.MySQL有关权限的表都有哪⼏个?1224.列的字符串类型可以是什么?1225.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?1226.锁的优化策略1327.索引的底层实现原理和优化1328.什么情况下设置了索引但⽆法使用1329.实践中如何优化MySQL1330.优化数据库的⽅法1431.简单描述MySQL中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两⽅面)1432.数据库中的事务是什么?1533.SQL注⼊漏洞产⽣的原因?如何防⽌?1634.为表中得字段选择合适得数据类型1635.存储日期时间1636.对于关系型数据库⽽⾔,索引是相当重要的概念,请回答有关索引的⼏个问题:1737.解释MySQL外连接、内连接与自连接的区别1838.Myql中的事务回滚机制概述1839.SQL语⾔包括哪⼏部分?每部分都有哪些操作关键字?1940.完整性约束包括哪些?1941.什么是锁?2042.什么叫视图?游标是什么?2043.什么是存储过程?用什么来调用?2044.如何通俗地理解三个范式?2145.什么是基本表?什么是视图?2146.试述视图的优点?2147.NULL是什么意思2248.主键、外键和索引的区别?2249.你可以用什么来确保表格里的字段只接受特定范围里的值?2250.说说对SQL语句优化有哪些⽅法?(选择⼏条)224软件⼯程师面试题-MYSQL V1.0MySQL面试题1.MySQL中有哪⼏种锁?1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度⼤,发⽣锁冲突的概率最⾼,并发度最低。

20个「MySQL」经典面试题,答对转dba2w+「附答案」

20个「MySQL」经典面试题,答对转dba2w+「附答案」

20个「MySQL」经典⾯试题,答对转dba2w+「附答案」1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;2、MySQL中myisam与innodb的区别,⾄少5点(1)、问5点不同;(2)、innodb引擎的4⼤特性(3)、2者selectcount(*)哪个更快,为什么3、MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义(1)、varchar与char的区别(2)、varchar(50)中50的涵义(3)、int(20)中20的涵义(4)、mysql为什么这么设计4、innodb的事务与⽇志的实现⽅式(1)、有多少种⽇志;(2)、事物的4种隔离级别(3)、事务是如何通过⽇志来实现的,说得越深⼊越好。

5、问了MySQL binlog的⼏种⽇志录⼊格式以及区别(1)、binlog的⽇志格式的种类和分别(2)、适⽤场景;(3)、结合第⼀个问题,每⼀种⽇志格式在复制中的优劣。

6、问了下MySQL数据库cpu飙升到500%的话他怎么处理?(1)、没有经验的,可以不问;(2)、有经验的,问他们的处理思路。

7、sql优化(1)、explain出来的各种item的意义;(2)、profile的意义以及使⽤场景;8、备份计划,mysqldump以及xtranbackup的实现原理(1)、备份计划;(2)、备份恢复时间;(3)、xtrabackup实现原理9、mysqldump中备份出来的sql,如果我想sql⽂件中,⼀⾏只有⼀个insert….value()的话,怎么办?如果备份需要带上master的复制点信息怎么办?10、500台db,在最快时间之内重启11、innodb的读写参数优化(1)、读取参数(2)、写⼊参数;(3)、与IO相关的参数;(4)、缓存参数以及缓存的适⽤场景。

12、你是如何监控你们的数据库的?你们的慢⽇志都是怎么查询的?13、你是否做过主从⼀致性校验,如果有,怎么做的,如果没有,你打算怎么做?14、你们数据库是否⽀持emoji表情,如果不⽀持,如何操作?15、你是如何维护数据库的数据字典的?16、你们是否有开发规范,如果有,如何执⾏的17、表中有⼤字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问(1)、您是选择拆成⼦表,还是继续放⼀起;(2)、写出您这样选择的理由。

mysql面试题sql语句

mysql面试题sql语句

mysql面试题sql语句MySQL是一种广泛应用的关系型数据库管理系统,许多企业在招聘数据库相关岗位时会要求候选人掌握MySQL,并且熟练掌握SQL语句。

在面试中,经常会出现关于MySQL的SQL语句题目,下面我将根据一些常见的MySQL面试题来进行回答。

1. 请写出查询表中所有数据的SQL语句。

答:SELECT * FROM table_name;2. 请写出查询表中某一列数据的SQL语句。

答:SELECT column_name FROM table_name;3. 请写出查询表中某几列数据的SQL语句。

答:SELECT column1, column2 FROM table_name;4. 请写出查询表中去重后的数据的SQL语句。

答:SELECT DISTINCT column_name FROM table_name;5. 请写出查询表中符合条件的数据的SQL语句。

答:SELECT * FROM table_name WHERE condition;6. 请写出查询表中数据按照某一列进行排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column_name;7. 请写出查询表中数据按照某一列进行倒序排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column_name DESC;8. 请写出查询表中数据按照多个列进行排序的SQL语句。

答:SELECT * FROM table_name ORDER BY column1, column2;9. 请写出查询表中数据分组后进行统计的SQL语句。

答:SELECT column_name, COUNT(*) FROM table_name GROUP BYcolumn_name;10. 请写出查询表中数据进行连接的SQL语句。

答:SELECT column1, column2 FROM table1 JOIN table2 ON table1.id =table2.id;11. 请写出查询表中数据进行左连接的SQL语句。

Mysql面试题及答案

Mysql面试题及答案

Mysql面试题及答案1 创立 poll 表,用于记录单项选择投票用户的数据字段包含id[ Autoincreace ] , ip , time , iid(用户选则的选项,int 型)写出 create 上述 table 的完好 sql 语句 drop table if exists poll;create table poll(id int unsigned not null auto_increment,ip varchar(15) not null,time datetimenot null,iid int not null,primary key (id))2 写出将一个选择 2 号选项的 ip 为 127.0.0.1 的用户在目前时间的投票记录到数据库的 SQLinsert into poll (ip,time,iid) values( 127.0.0.1 ,now(),2);3 写出知足下面条件的SQL 语句item 表的构造为id( 就是 poll 表中的 iid),descp(用户选择的选项的文字 )请查问并返回 10 条记录 ,包含 ip 和用户选择的选项的文字4在因投票人数太多,网站常出too many connection的,供给解决方案方法一:加大MySql 的最大接数mysql的最大接数默是100,个数于并接好多的数据用是不的,当接求大于默接数后,就会出没法接数据的,所以我需要把它适合大一些,my.ini改正 max_connections=1000方法二,不用mysql数据,改直接写文件,方法参照5若非要用mysql ,可方法三:因为用mysql句用数据,在每次之行句前,会做一个的量用来翻开数据,所以你在使用 mysql 句的候,得在每次用完 mysql 以后就关 mysql 量5 在成功解决接数的后,程序运转慢,是 mysql 并太多,表被定的象重,供给解决方案于量大的,原来就不介绍使用数据,能够考直接写到文本中,依据的量,先定倘假如 100 个文件文件名挨次1.txt,2.txt ⋯100.txt ,每实用投票的候,随机往此中的一个文件中写入投票信息。

mysql面试题及答案

mysql面试题及答案

mysql面试题及答案【篇一:php经典面试题及答案非常实用】>目录面试题一 ....................................................................................................... .. (1)面试题二 ....................................................................................................... .. (3)面试题三 ....................................................................................................... .. (4)面试题四 ....................................................................................................... .. (6)面试题五 ....................................................................................................... .. (7)面试题六 ....................................................................................................... .. (8)面试题七 ....................................................................................................... .. (9)本面试题分为七套,这些大部分都是本人被面试过的总结,发出来给大家参考,希望能助你在面试中顺利过关!面试题一1、表单提交get和post有何区别?答:get的方式是把数据在地址栏中发送,get传送的数据量较小,不能大于2kb。

mysql dba面试题及答案

mysql dba面试题及答案

mysql dba面试题及答案MySQL是一种开源的关系型数据库管理系统,广泛应用于各种大中小型企业的数据存储和管理中。

在DBA(数据库管理员)面试中,常常会遇到一些涉及MySQL的面试题目。

本文将介绍一些常见的MySQL DBA面试题及其答案,帮助读者更好地准备面试,提升面试表现。

一、MySQL基础知识问题1:MySQL是什么?请简要介绍MySQL的特点。

回答:MySQL是一种开源的关系型数据库管理系统,其特点包括:1. 可靠性高:MySQL具有ACID(原子性、一致性、隔离性和持久性)特性,确保数据的完整性和一致性。

2. 跨平台性强:MySQL可运行在多个操作系统上,如Windows、Linux、Unix等。

3. 性能优越:MySQL通过索引、查询优化等技术提升了数据库的查询和读写性能。

4. 可定制性强:MySQL提供了多种存储引擎,如InnoDB、MyISAM等,可根据需求选择合适的引擎。

5. 易用性好:MySQL提供了丰富的命令行工具和图形化界面,方便用户进行数据库操作和管理。

问题2:什么是SQL?请简要介绍SQL语言的作用和特点。

回答:SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于管理关系型数据库的编程语言。

SQL具有以下特点:1. 简单易学:SQL语法简洁清晰,易于学习和使用。

2. 语言标准化:SQL是一种被国际标准化组织(ISO)和国际电信联盟(ITU)认可的标准语言。

3. 高度可扩展:SQL支持多种操作,如查询、插入、更新、删除等,可满足各种数据库操作需求。

4. 面向集合:SQL是一种面向集合的操作语言,可以对整个表或查询结果进行操作。

5. 数据定义和数据操作分离:SQL将数据定义和数据操作分离,保证了数据的一致性和安全性。

二、数据库设计与优化问题3:请简要介绍数据库的三大范式。

回答:数据库的三大范式是指数据库设计过程中的规范化要求,包括:1. 第一范式(1NF):要求每一列都是不可再分的属性,确保每个单元格内只包含一个值,且每行具有唯一的标识符(主键)。

mysql精选60道面试题

mysql精选60道面试题

mysql精选60道面试题当涉及到 MySQL 数据库的面试题,通常会涉及到数据库的基本概念、查询语句、性能优化、索引、事务处理等方面。

以下是一些可能会出现的面试题:1. 什么是数据库?2. 什么是 MySQL?它的特点是什么?3. 什么是 SQL?它的作用是什么?4. 请解释一下数据库的范式是什么?5. 什么是表?列?行?6. 如何创建一个数据库?7. 如何创建一个表?8. 什么是主键?外键?9. 如何插入一条记录?10. 如何更新一条记录?11. 如何删除一条记录?12. 如何查询数据库中的数据?13. 什么是索引?如何创建索引?14. 什么是视图?它有什么作用?15. 什么是存储过程?它有什么作用?16. 什么是触发器?它有什么作用?17. 什么是事务?如何使用事务?18. 什么是连接?有哪些类型的连接?19. 什么是子查询?如何使用子查询?20. 什么是联合查询?如何使用联合查询?21. 如何优化 SQL 查询语句的性能?22. 什么是数据库范围锁定?23. 什么是事务隔离级别?有哪些级别?24. 什么是数据库复制?如何配置数据库复制?25. 什么是数据库分区?如何进行数据库分区?26. 什么是数据库备份和恢复?如何进行数据库备份和恢复?27. 什么是数据库优化器?它的作用是什么?28. 什么是数据库锁?有哪些类型的锁?29. 什么是数据库索引优化?如何进行索引优化?30. 什么是数据库缓存?如何进行数据库缓存优化?以上是一些可能涉及到的 MySQL 数据库面试题,希望能够帮助到您。

如果有其他问题,欢迎继续提问。

最全MySQL面试题和答案

最全MySQL面试题和答案

最全MySQL⾯试题和答案Mysql 的存储引擎,myisam和innodb的区别。

答:1.MyISAM 是⾮事务的存储引擎,适合⽤于频繁查询的应⽤。

表锁,不会出现死锁,适合⼩数据,⼩并发。

2.innodb是⽀持事务的存储引擎,合于插⼊和更新操作⽐较多的应⽤,设计合理的话是⾏锁(最⼤区别就在锁的级别上),适合⼤数据,⼤并发。

数据表类型有哪些答:MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等。

MyISAM:成熟、稳定、易于管理,快速读取。

⼀些功能不⽀持(事务等),表级锁。

InnoDB:⽀持事务、外键等特性、数据⾏锁定。

空间占⽤⼤,不⽀持全⽂索引等。

MySQL数据库作发布系统的存储,⼀天五万条以上的增量,预计运维三年,怎么优化?a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提⾼效率。

b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。

c. mysql库主从读写分离。

d. 找规律分表,减少单表中的数据量提⾼查询速度。

e。

添加缓存机制,⽐如memcached,apc等。

f. 不经常改动的页⾯,⽣成静态页⾯。

g. 书写⾼效率的SQL。

⽐如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE.对于⼤流量的⽹站,您采⽤什么样的⽅法来解决各页⾯访问量统计问题?答:a. 确认服务器是否能⽀撑当前访问量。

b. 优化数据库访问。

c. 禁⽌外部访问链接(盗链), ⽐如图⽚盗链。

d. 控制⽂件下载。

e. 使⽤不同主机分流。

f. 使⽤浏览统计软件,了解访问量,有针对性的进⾏优化。

如何进⾏SQL优化?答:(1)选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。

MyISAM 适合于⼀些需要⼤量查询的应⽤,但其对于有⼤量写操作并不是很好。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

公司招聘MySQL DBA面试心得
2013-11-01 10:06:51 我来说两句作者:黄杉
收藏我要投稿公司招聘MySQL DBA面试心得
1 2年MySQL DBA经验
其中许多有水分,一看到简历自我介绍,说公司项目的时候,会写上linux 系统维护,mssql server项目,或者oracle data gard项目,一般如果有这些的话,工作在3年到4年的话,他的2年MySQL DBA管理经验,是有很大的水分的。

刚开始我跟领导说,这些不用去面试了,肯定mysql dba经验不足,领导说先面面看看,于是我就面了,结果很多人卡在基础知识这一环节之上,比如:
(1)有的卡在复制原理之上
(2)有的卡在binlog的日志格式的种类和分别
(3)有的卡在innodb事务与日志的实现上。

(4)有的卡在innodb与myisam的索引实现方式的理解上面。

.........
个人觉得如果有过真正的2年mysql专职dba经验,那么肯定会在mysql的基本原理上有所研究,因为很多问题都不得不让你去仔细研究各种细节,而自己研究过的细节肯定会记忆深刻,别人问起一定会说的头头是道,起码一些最基本的关键参数比如Seconds_Behind_Master为60这个值60的准确涵义,面试了10+的mysql dba,没有一个说的准确,有的说不知道忘记了,有的说是差了60秒,有的说是与主上执行时间延后了60秒。

2 对于简历中写有熟悉mysql高可用方案
我一般先问他现在管理的数据库架构是什么,如果他只说出了主从,而没有说任何ha的方案,那么我就可以判断出他没有实际的ha经验。

不过这时候也不能就是断定他不懂mysql高可用,也许是没有实际机会去使用,那么我就要问mmm以及mha以及mm+keepalived等的原理实现方式以及它们之间的优势和不足了,一般这种情况下,能说出这个的基本没有。

3 对于简历中写有批量MySQL 数据库服务器的管理经验
这个如果他说有的话,我会先问他们现在实际线上的mysql数据库数量有多少,分多少个节点组,最后问这些节点组上面的slow log是如何组合在一起来统计分析的。

如果这些他都答对了,那么我还有一问,就是现在手上有600台数据库,新来的机器,Mysql都安装好了,那么你如何在最快的时间里面把这600台mysql数据
库的mysqld服务启动起来。

这个重点在于最快的时间,而能准确回答出清晰思路的只有2个人。

4 对于有丰富的SQL优化的经验
首先问mysql中sql优化的思路,如果能准备说出来,ok,那么我就开始问explain的各种参数了,重点是select_type,type,possible_key, ref,rows,extra 等参数的各种值的含义,如果他都回答正确了,那么我再问file sort的含义以及什么时候会出现这个分析结果,如果这里他也回答对了,那么我就准备问profile
分析了,如果这里他也答对了,那么我就会再问一个问题,那是曾经tx问我的让我郁闷不已的问题,一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。

5 对于有丰富的数据库设计经验
这个对于数据库设计我真的没有太多的经验,我也就只能问问最基础的,mysql 中varchar(60) 60是啥含义,int(30)中30是啥含义?如果他都回答对了,那么我就问mysql中为什么要这么设计呢?如果他还回答对了,我就继续问int(20)存储的数字的上限和下限是多少?这个问题难道了全部的mysql dba的应聘者,不得不佩服提出这个问题的金总的睿智啊,因为这个问题回答正确了,那么他确实认认真真地研究了mysql的设计中关于字段类型的细节。

至于丰富的设计数据库的经验,不用着急,这不我上面还有更加厉害的dba吗,他会搞明白的,那就跟我无关了。

6 关于mysql参数优化的经验。

首先问他它们线上mysql数据库是怎么安装的,如果说是rpm安装的,那么我就直接问调优参数了,如果是源码安装的,那么我就要问编译中的一些参数了,比如f以及存储引擎以及字符类型等等。

然后从以下几个方面问起:
(1)mysql有哪些global内存参数,有哪些local内存参数。

(2)mysql的写入参数需要调整哪些?重要的几个写参数的几个值得含义以及适用场景,比如innodb_flush_log_at_trx_commit等。

(3)读取的话,那几个全局的pool的值的设置,以及几个local的buffer的设置。

(4)还有就是著名的query cache了,以及query cache的适用场景了,这里有一个陷阱,就是高并发的情况下,比如双十一的时候,query cache开还是不开,开
了怎么保证高并发,不开又有何别的考虑?
7 关于事物隔离级别。

这个最起码你得知道那4个隔离级别的名字吧,以及之间的区别,还有你当前自己数据库里面设置的是哪个级别吧,可惜的是面试了那么多,能准备想都不用想的回答出的就只有一个,而且他只说出了前3个级别的名字。

8 关于熟悉mysql的锁机制。

那么gap锁,next-key锁,以及innodb的行锁是怎么实现的,以及myisam的锁是怎么实现的等,可惜能准备说出这些的只有一个mysql dba。

9 关于熟悉mysql集群的。

我就问了ndbd的节点的启动先后顺序,再问配置参数中的内存配置几个重要的参数,再问sql节点中执行一个join表的select语句的实现流程是怎么走的?ok,能回答的也只有一个。

10 关于有丰富的备份经验的
就问mysqldump中备份出来的sql,如果我想sql文件中,一行只有一个insert .... value()的话,怎么办?如果备份需要带上master的复制点信息怎么办?或者xtrabackup中如何做到实时在线备份的?以及xtrabackup是如何做到带上master
的复制点的信息的?当前xtrabackup做增量备份的时候有何缺陷?
能全部回答出来的没有一个,不过没有关系,只要回答出mysqldump或者xtrabackup其中一个的也可以。

11 关于有丰富的线上恢复经验的
就问你现在线上数据量有多大,如果是100G,你用mysqldump出来要多久,然后mysql 进去又要多久,如果互联网不允许延时的话,你又怎么做到恢复单张表的时候保证nagios不报警。

如果有人说mysqldump出来1个小时就ok了,那么我就要问问他
db服务器是啥配置了,如果他说mysql进去50分钟搞定了,那么我也要问问他db
机器啥配置了,如果是普通的吊丝pc server,那么真实性,大家懂得。

然后如果你用xtrabackup备份要多久,恢复要多久,大家都知道copy-back这一步要很久,那么你有没有办法对这一块优化。

.............
先想到这么多,可能有朋友就好心提醒了,你mysql dba招聘好了没有,如果没有
招聘好,万一人家看到这里,全部准备好,那不相当于作弊啊?
我想说的是,我只是说出了想问的知识点,我可没有说答案啊,如果能自己找出所
有准确答案的,那也挺不错了,至少这探索精神是有的,不过就算过了我这一关基
础知识面试,别忘了,上面还有比我更厉害的dba,他会继续KO你的,他问的东西就比较深入了,要过那一关挺不容易的,要不然刚开始一个月他面试了10多个全部被他pass了,然后他说好麻烦啊先让我把把关把不合格的pass掉,让他省点时间,哈哈,所以我不用担心的。

当然可能是我们公司也比较弱吧,毕竟目前不能跟ali,tx,baidu等真正的mysql dba团队相比,也许真正的基础知识扎实的mysql dba已经投奔它们而去了,在此
呼喊下,我们这些互联网公司也是有追求的,特别是在招聘mysql dba这一块,对
基础知识很注重的。

最后欢迎大家拍砖,我这边已经准备好taobao网购了一个钢头盔,小弟我还可以撑得住啊,赫赫,玩笑了,大家有过这方面面试别人或者去应聘的经验的,欢迎指点
啊!
Mysql的concat函数使用:
select concat('aa','bb');------------最终显示的就是aabb,同时,concat有to_char的作用,就是把其他类型转成varchar类型的。

相关文档
最新文档