【转】【mysql面试】https://blog.csdn.net/hanfazy/article/details/14520437
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的索引实现方式的理解上面。
.........
关于基础知识考查点,请参考我整理的基础面试点总结: http://blog.csdn.net/mchdba/article/details/13505701
个人觉得如果有过真正的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个人。
1.事务的特性
一致性,持久性,隔离性,原子性
2.mysql隔离级别
RUC,RC,RR,serialization
3.mysql系统数据库
infomation_schema:存储元数据,innodb 事务信息和锁信息
mysql:用户和权限信息,以及一些控制管理信息。可以分成4大块,
(1)成本模块:engine_cost server_cost (2)user,db,table_priv,column_priv,proce_priv,proxies_priv (3)innodb统计信息 (4)插件、帮助
performance_sche:采集性能参数信息以及运行时的统计信息
4.innodb特性,innodb与MyISAM的区别
特性:(1)插入缓存 (2)double write (3)自适应hash索引(4)预读
5.备份还原(mysqldump逻辑、xtraback物理)
6.几种日志,参数是什么,binlog的格式
错误日志,二进制日期,慢查询日志,通用日志,relay log,redo,undo
7.mysql行锁怎么实现的
8.mysql online DDL实现的基本原理
9.innodb事务与日志的实现原理
10.复制有哪些类型
11.异步、同步、半同步复制原理
12.异步、同步、半同步从库出现错误事务,应该如何跳过
13.异步、同步、半同步库比较大、比较小的时候 如何快速初始化从库
14.GTID什么时候支持的,优劣在哪里?
15.GTID的半同步如何快速初始化、如何忽略从库SQL线程错误?
相关文章
- Mysql:is not allowed to connect to this MySQL server
- ASP.NET Core EF Core+Mysql分层开发项目实战
- 用Navicat连接mysql报错:2003-Can't connect to MySql server on '10.100.0.109'(10039)
- linux - mysql 异常:MySQL Daemon failed to start.
- Mysql: 强制走索引:mysql between 日期索引 索引问题-日期索引使用
- 第二百七十九节,MySQL数据库-pymysql模块操作数据库
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- MySQL高可用性之Keepalived+Mysql(双主热备)
- Python查询Mysql时返回字典结构的代码
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- 【收藏】windows下 Mysql 错误 Can‘t open and lock privilege tables: Table ‘mysql.user‘ doesn‘t exist
- Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
- [转]2006 MySQL server has gone away错误,最大值溢出解决办法 mysql max_allowed_packet 查询和修改
- ASP.NET MVC + MySQL で開発環境構築
- Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程
- 第16讲:MySQL中常用的字符串函数以及基本使用
- MySql高级----Linux下的mysql的安装与初始化配置
- MySQL开启ssl证书
- Jmeter——MySQL数据库性能分析以及计划书模板(六)