概述
想知道mysql dba运维面试时都会被问到哪些问题吗?特整理出20个运维经典面试题供大家参考学习,据说知道一半答案的人,月薪能过万~
1、MySQL的复制原理以及流程
基本原理流程,3个线程以及之间的关联;
(1)主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;
(2)从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;
(3)从:sql执行线程——执行relay log中的语句;
2、MySQL中myisam与innodb的区别,至少5点
(1)、问5点不同:
1>.InnoDB支持事物,而MyISAM不支持事物
2>.InnoDB支持行级锁,而MyISAM支持表级锁
3>.InnoDB支持MVCC, 而MyISAM不支持
4>.InnoDB支持外键,而MyISAM不支持
5>.InnoDB不支持全文索引,而MyISAM支持。
(2)、innodb引擎的4大特性:
插入缓冲(insert buffer);
二次写(double write);
自适应哈希索引(ahi);
预读(read ahead)。
(3)、2者select count(*)哪个更快,为什么
myisam更快,因为myisam内部维护了一个计数器,可以直接调取。
3、MySQL中varchar与char的区别以及varchar(50)中的50代表的含义
(1)、varchar与char的区别
char是一种固定长度的类型,varchar则是一种可变长度的类型。
(2)、varchar(50)中50的含义
最多存放50个字符,varchar(50)和(200)存储hello所占空间一样,但后者在排序时会消耗更多内存,因为order by col采用fixed_length计算col长度(memory引擎也一样)。
(