云翔计划招生!定向培养、全程辅导、就业无忧!

咨询电话:400-6799-697

MySQL练习题2

时间:2021-08-31

  答案见参考下列黄色标记

  一、 下面所有题目中包括单选或多选

  1. 若MySQL Server运行在Linux系统上, 那访问MySQL服务器的客户端程序也必须运行在Linux系统吗

  A. 是 B. 否

  2. MySQL与其他关系型数据库(SQL Server/Oracle)架构上最大的区别是

  A.连接层 B. SQL层 C.存储引擎层

  3. MySQL使用磁盘空间来存储下面哪些信息

  A. server和client程序、其他lib库文件

  B. 日志文件和状态文件

  C. 数据库

  D. 表格式(.frm)文件、数据文件、索引文件

  E. 当内部临时表超过控制设置时,由内存表形式转化为磁盘形式存储

  F. 上面所有

  4. 下面哪四种是mysql客户端程序的功能

  A. 创建、删除数据库

  B. 创建、删除、修改表和索引

  C. 使用shutdown命令关闭服务器

  D. 创建、管理用户

  E. 显示replication状态信息

  F. 使用start backup命令来进行数据库二进制备份

  5. 在MySQL内部有4种常见日志,哪种日志是不能直接cat或more文本查阅日志内容

  A. 错误日志 (error-log)

  B. 二进制日志(bin-log)

  C. 查询日志(query-log)

  D. 慢查询日志(slow-log)

  6. 下面哪三种方式可以查看Country表的存储引擎

  A. SHOW CREATE TABLE Country;

  B. SHOW ENGINE Country STATUS;;

  C. SHOW TABLE STATUS LIKE ‘Country’;

  D. SELECT ENGINE FROM WHERE TABLE_NAME=’Country’;

  E. SELECT ENGINE FROM WHERE TABLE_NAME =’County’;

  7. 在高并发、事务等场景下,数据库默认使用哪种存储引擎

  A. Myisam B. InnoDB C. Memory D. ndbCluster

  8. 下面哪种场景不能用到Index索引

  A. Select * from customer where customer_id=10;

  B. Select * from customer Where LEFT(last_name,4)=’SMIT’;

  C. Select * from customer where customer_name LIKE ‘SMIT%’;

  D. Select * from customer where customer_id =4 OR customer_id =7 OR customer_id =10;

  9. MySQL replication复制中主-从是通过什么进行数据同步

  A . redo log B. binlog C. 文件系统

  10. 有关Mysqldump备份特性中哪个是不正确的

  A.是逻辑备份,需将表结构和数据转换成SQL语句

  B. mysql服务必须运行

  C.备份与恢复速度比物理备份快

  E. 支持MySQL所有存储引擎

  11. 下面哪种方式不属于MySQL常见索引类型

  A.前缀索引 B、函数索引 C、唯一索引 D聚集索引

  12. 通过EXPLAIN来分析SQL语句,如下:

  EXPLAIN SELECT , FROM a1,a2 WHERE = ;

  


  那从上面结果集中KEY列值信息分析最佳描述是”该SQL语句实际利用到的索引”

  A.是 B. 否

  13. 下面哪种方式是MySQL默认事务隔离级别。

  A. read uncommitted

  B. read committed

  C. repeatable read

  D. serializable

  14. MySQL主机和从机必须是同一种类型的存储引擎表

  A.是 B.否

  15. 下面哪种工具可以很好用来监控MySQL数据库

  A.mysqlbackup B. monitor C. mysql workbench D. sqlyog

  16. MySQL中当被标记为删除标记且不再需要的undo log,用来回收undo页的线程是指

  A.purge thread B. read thread C. write thread D. all of above

  17. MySQL 时间数据类型是支持什么级别

  A.分钟 B. 秒 C.毫秒 D.微秒

  18. MySQL 复制为了缓解IO吞吐量,仅记录所更改影响的行记录数据,binlog_row_image参数值设置为

  A.Minimal B. Full C. Noblob D. statement

  19. MySQL 复制支持多个SQL thread处理机制,是指对

  A. 整个MySQL服务器

  B. 不同DB数据库

  C. 不同tables表

  D. 单个库

  20. 下列哪些场景不适应于MySQL Replication复制

  A. 自动失效接管

  B. 支持读/写分离负载均衡

  C. 最佳数据一致性

  D. 异步复制

  E. 自动修复故障

  21. 是否支持sequences序列

  A. 不支持!但是,MySQL有个类似的功能,可以通过auto_increment实现。尤其是在多主复制过程中,可设置auto_increment_increment和auto_increment_offset变量来实现insert,使不同服务器间彼此独立。

  B.支持

  22. 以下哪些方式适应于MySQL中应用的SQL语句调优分析

  A. Explain B. SQL profiler C. Procedure Analyse D. show global status

  23. 若MySQL临时表超过内存设置,将会转化为磁盘存储

  A. 是 B. 否

  24. MySQL Information_schema内部所有数据是基于磁盘存储吗

  A.是 B.否

  25. Information_schema库可以存储下面哪些对象信息

  A. engines

  B. global status

  C. user

  D. schemata

  E. innodb_trx

  26. MySQL使用哪些方式可以用于分析当前查询锁情况

  A. show processlist;

  B. show engine innodb status;

  C.

  D.

  27. MySQL 版本支持下列哪些特性

  A. JSON数据类型

  B. 多IO线程主从复制

  C. 窗口函数

  D. 多SQL线程主从复制

  28. MySQL常用的客户端工具包括哪些

  A. JAVA API

  B. PHP API

  C. ODBC Connector

  D. Libmysqldclient

  E. .Net Connector

  29. 下面哪些工具可用于实时监控MySQL数据库整体运行情况

  A. MySQL Enterprise Monitor

  B. Zabbix

  C. MySQL Enterprise Backup

  D. MySQL Enterprise Audit

  30. MySQL目前不支持下面那种数据类型

  A. Bigint

  B. Timestamp

  C. Bit

  D. Clob

  二、 填空题

  1. MySQL 数据库是( 单 )进程、多线程模式。

  2. 共享表空间ibdata1存储信息包括( undo信息)、数据字典、锁等信息等,而独表空间ibd存储信息包括( 数据、索引)。

  3. MySQL Replication复制格式包括基于statement、( row )和mixed形式。

  4. MySQL查看/分析binlog日志内容的程序是( mysqlbinlog )。

  5. MySQL启动服务的命令( service mysql start )。

  6. MySQL事务的ACID属性是指atomicity、(consistency )、(isolation)、durability

  7. MySQL默认隔离级别是(repeatable )。

  8. Innodb引擎支持压缩功能的文件存储格式是( barracuda)。

  9. 使用(mysqldump)备份工具可以在业务不中断时把表结构和数据从表中备份出来成SQL语句的文件。

  10. 使用(mysql enterprise backup或xtrabackup )备份工具可进行真正对业务无影响的在线热备份。

  11. MySQL Replication主从复制是通过(show slave status)命令来查看复制的执行状态及延迟信息。

  12. MySQL Replication主从复制是通过(IO )线程去读取master主机( binlog )日志文件到slave从机。

  13. MySQL调优时通过(innodb_buffer_pool_size )参数,尽可能缓存满足数据总量或热数据总量。

  14. MySQL通过(explain )命令手段,可以分析当前应用SQL语句是否需要调优。

  15. MySQL通过( performance_schema)库信息分析当前系统慢查询语句具体情况。

  三、 问答题 (扩散性思维)

  1. 谈谈有关MySQL Replication复制的原理及实施流程

  参考:Mysql 的 Replication 是一个异步的复制过程,从一个MySQL节点(称之为Master)复制binlog日志到另一个MySQL节点(称之Slave),然后再slave上通过relaylog进行回放的过程。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(SQL 线程和 I/O 线程)在 Slave 端,另外一个线程(I/O 线程)在 Master 端。

  详情请参考:

  2. 假设生产环境有100G数据量,谈谈如何进行数据有效备份及备份策略设置 (可畅通不同的备份形式对业务的影响)

  参考:针对100G数据量,且不能中断应用业务场景下,建议使用官方MEB(mysql enterprise backup)企业备份工具或开源xtrabackup备份。这2个工具都是真正的在线物理热备份,对业务读写完全无影响。

  具体可深入了解

  3. 假设用户执行某些SQL语句感知MySQL响应非常慢,谈谈如何解决该问题及思路

  参考思路:主要开启slow-query日志,采集慢日志信息;show processlist;schema库表结构等信息,并使用explain语句分析具体相对比较慢的语句。具体分析是什么原因造成数据库响应慢。

  4. 谈谈MySQL innodb事务及产生死锁,如何解决死锁的思路

  参考:MySQL是支持4种事务隔离级别,默认使用RR模式。主要是解决脏数据现象,可以采用加锁解决数据幻读。

  参考一个死锁的案例:

  p=844

  5. 谈谈MySQL数据库服务器如何进行优化的想法

  参考:可针对硬件、操作系统、数据库参数、SQL语句等方面分析。具体可发散。

  备注:<问答题>建议有MySQL经验者面试,由于篇幅较长,没有具体列出,主要考验面试者解决问题的思路及思维想法等。