mysql 面试题库大全
文章目录
- mysql运维基础知识面试问答题
- 面试题001:请解释关系型数据库的概念及主要特点?
- 面试题002:请说出关系型数据库的典型产品、特点及场景应用?
- 面试题003:请解释非关系数据库概念及主要特点?
- 面试题004:请说出非关系型数据库的典型产品、特点及应用场景?
- 面试题005:请详细描述SQL语句及对应代表性关键字。
- 面试题006:请详细描述char(4)和varchar(4)?
- 面试题007:如何创建一个urf8字符集的数据库xxxx?
- 面试题008:如何授权xxxx用户从172.16.1.0/24 访问数据库。
- 面试题009:什么是MySQL多实例,如何配置MySQL多实例?
- 面试题010:如何加强MySQL安全,请给出可行的具体措施?
- 面试题011:MySQL root密码忘了怎么找回?
- 面试题012:delete和truncate删除数据的区别?
- 面试题013:MySQL sleep线程过多如何解决?
- 面试题014:sort_buffer_size参数作用?如何在线修改生效?
- 面试题015:如何在线正确清理MySQL binlog?
- 面试题016:Binlog工作模式有哪些?各有什么特点,企业如何选择?
- 面试题017:误操作了一个drop库sql语句,如何完整恢复?
- 面试题018:mysqldump备份使用了-A -B 参数,如何实现恢复单表
- 面试题019:详述MySQL主从复制原理及配置主从的完整步骤
- 面试题020:如何开启从库的binlog功能?
- 面试题021:Mysql如何实现双向互为主从复制,并说明应用场景?
- 面试题022:,MySQL如何实现级联同步,并说明应用常见
- 面试题023:MySQL主从复制故障如何解决?
- 面试题024:如何监控主从复制是否故障?
- 面试题025:MySQL数据库如何实现读写分离
- 面试题026:生产一主多从从库宕机,如何手工恢复?
- 面试题027:生产一主多从主库宕机,如何手工恢复?
- 面试题028:工作中遇到过哪些数据库故障,请描述2个例子?
- 面试题029:Mysql出现复制延迟有哪些原因?如何解决?
- 面试题030:给出企业生产大型mysql集群架构可行备份方案?
- 面试题031:什么是数据库事务,事务有哪些特性,企业如何选择
- 面试题032:请解释全备、增备、冷备、热备概念及企业实践经验?
- 面试题033:MySQL的sql语句如何优化?
- 面试题034:企业生产的mysql集群架构如何设计备份方案?
- 面试题035:开发有一堆数据发个dba执行,dba执行需要注意什么?
- 面试题036:如何调整生产线中MySQL数据库的字符集。
- 面试题037:请描述MySQL里中文数据乱码原理,如何防止乱码?
- 面试题038:企业生产的Mysql如何优化(请多角度描述)
- 面试题039:Mysql高可用方案有哪些,各自特点,企业如何选择?
- 面试题040:如何批量修改更改数据表的引擎?
- 面试题041:如何批量更改数据库字符集?
- 面试题042:网站打开慢请给出排查方法,如是数据库慢导致,请如何排查并解决,请分析并举例
mysql运维基础知识面试问答题
面试题001:请解释关系型数据库的概念及主要特点?
答:关系型数据库模型就是把复杂的数据结构归简单的二元关系,对数据的操作的都是建立一个或多个关系表格上,最大特点就是二维表格,通过sql语言查询语句存取数据,保持数据一致性方面很强大。
面试题002:请说出关系型数据库的典型产品、特点及场景应用?
答: 1.mysql互联网企业常用2.oracle 大型传统企业应用软件3.如数据备份、复杂连接查询、一致性数据存储等,还是使用mysql或者其他传统的关系型数据库最合适。
面试题003:请解释非关系数据库概念及主要特点?
答:非关系型数据库也被称为NoSQL数据库,数据存储不需要特有固定的表结构。特点是:高性能、高并发、简单易安装
面试题004:请说出非关系型数据库的典型产品、特点及应用场景?
答:1.memcaced 纯内存2.redis 持久化缓存3.mongodb 面向文档如果需要短时间响应的查询操作,没有良好模式定义的数据存储,或者模式更改频繁的数据存储还是用NoSQL
面试题005:请详细描述SQL语句及对应代表性关键字。
答:sql语句分类如下:DDL数据定义语言,用来定义数据库对象:库、表、列。代表性关键字:create alter drop DML数据操作语言,用来定义数据库记录代表性关键字:insert delete updateDCL数据控制语言,用来定义访问权限和安全级别代表性关键字:grant deny revokeDQL数据库查询语言,用来查询记录数据代表性关键字:select
面试题006:请详细描述char(4)和varchar(4)?
答: char长度是固定不可变的,varchar长度是可变的(在设定内)比如同样写入cn字符,char类型对应的长度是4(cn+两个空格),但是varchar类型对应长度是2。
面试题007:如何创建一个urf8字符集的数据库xxxx?
答: create database xxxx default character utf8 collate urf8_general_ci;
面试题008:如何授权xxxx用户从172.16.1.0/24 访问数据库。
create all on *.* to xxxx@'10.0.0.3' identified by "123456";
面试题009:什么是MySQL多实例,如何配置MySQL多实例?
答:MySQL多实例就是在同一台服务器上启动多个MySQL服务,他们监听多个不同的端口,运行多个服务进程,他们互相独立,互不影响对外提供服务,便于节约服务器资源和后期架构扩展多实例的配置方法有两种:1.一个实例一个配置文件,不同端口2.同一个配置文件(my.cnf)下配置不同实例,基于mysqld_multi工具。
面试题010:如何加强MySQL安全,请给出可行的具体措施?
答: 1.删除数据库不同的默认用户2.配置相应的权限(包括远程连接)3.不可在命令行界面下收入数据库的密码4.定期修改密码和加强密码的复杂度。
面试题011:MySQL root密码忘了怎么找回?
答: 添加skip-grant-tables参数到/etc/my.cnf主配置文件中,在[ msyqld]选项中添加。添加完成之后mysql登录默认跳过mysql登录密码,可以使用命令进行修改。update mysql.user set password = PASSWORD('123456')where user = 'root' ; flush privileges;mysqladmin -uroot passowrd "NEWPASSWORD"以上两条命令均可修改密码将密码修改完成之后必须把/etc/my.cnf文件中的配置skip-grant-tables参数去掉或者注释。
面试题012:delete和truncate删除数据的区别?
答: 前者删除数据可以恢复,他是逐条删除速度慢后者是物理删除,不可恢复,他是整体删除速度快
面试题013:MySQL sleep线程过多如何解决?
答: 1.可以杀掉sleep进程,kill PID2.修改配置,重启服务[mysqld]wait_timeout = 600interactive_timeout = 30#如果生产服务器不可随便重启可以使用下面的方法进行解决set global wait_timeout = 600set global interactive_timeout = 30;
面试题014:sort_buffer_size参数作用?如何在线修改生效?
答: 在每个connection(session)第一个连接时需要使用到,来提访问性能。set global sort_buffer_size = 2M
面试题015:如何在线正确清理MySQL binlog?
答:MySQL中的binlog日志记录了,数据中的数据变动,便于对数据的基于时间点和基于位置的恢复,但日志文件的大小会越来也大,占用大量的磁盘空间,因此需要定时清理一部分日志信息手工删除。#首先查看主从库正在使用的binlog文件名称show master(slave)status\G# 删除之前一定要备份purge master logs before‘2017-09-01 00:00:00’;#删除指定时间前的日志pugre master logs to 'mysql-bin.000001'#删除指定的日志文件自动删除通过设置binlog日志的过期时间让系统自动删除日志,show variables like ‘expire_logs_days’;et global expire_logs_days = 30;#查看过期时间和设置过期日期
面试题016:Binlog工作模式有哪些?各有什么特点,企业如何选择?
答:1.Row(行模式);日志中会记录成每一行数据被修改的形式,然后再slave端再对相同的数据进行修改。2.Statement(语句模式);每一条修改的数据都会完整记录到主库master的binlog日志里面,在slave上完整执行在master执行上的语句3.mixed(混合模式)结合前面的两种模式,如果在工作中有使用函数获知触发器等特殊功能需求的使用,使用混合模式数据量达到比较高时候,他就会选择statement模式,而不会选择row Level 模式
面试题017:误操作了一个drop库sql语句,如何完整恢复?
答: 1.停止主从复制,在主库上执行锁表并刷新binlog操作,接着恢复之前的全备文件(比如0点的全备)2.将0点的binlog文件与全备的到故障期间的binlog文件合并成并导出sql语句。mysqlbinog --no-defaults mysql-bin.000011 mysql-bin.000012 > bin.sql3.将导出sql语句中drop语句删除,恢复到数据库中mysql -uroot -p123456 < bin.sql
面试题018:mysqldump备份使用了-A -B 参数,如何实现恢复单表
答:-A 此参数作用是备份所有数据库,(相当于 --all-database)-B databasename 备份指定数据(单库备份使用)
面试题019:详述MySQL主从复制原理及配置主从的完整步骤
答:主从复制的原理如下主库开启binlog功能并授权从库连接主库,从库通过change master得到主库的相关同步信息,然后连接主库进行验证,主库I/O线程根据从库slave 线程的请求,从master.info开始记录点的位置向下开始取信息,同时把取到的位置点和最新的位置与binlog信息一同发个从库I/O线程,从库将相关的sql语句存放在relay-log里面,最终从库的sql线程将relay-log里的sql语句应用到从库上,至此整个同步过程完成,之后将是无限重复上述过程。1、主库开启binlog功能,并进行全备,将全备文件推送到从库服务器上2、show master status\G 记录下当前的位置信息及二进制文件名3、登陆从库恢复全备文件4、执行change master to 语句5、执行start slave and show slave status\G
面试题020:如何开启从库的binlog功能?
答:修改配置文件加上下面的配置log_bin=slave-binlog_bin_index=slave-bin.index需要重启服务生效
面试题021:Mysql如何实现双向互为主从复制,并说明应用场景?
答: 双主同步主要应用于解决单一主库写的压力,具体配置如下主库配置[ mysqld]auto_increment_increment = 2#起始IDauto)increment_offset = 1 #id 自增间隔log-slave-update 从库配置[mysqld]auto_increment_increment = 2auto_increment_offset = 2 log-slave-update
面试题022:,MySQL如何实现级联同步,并说明应用常见
答: 级联同步主要应用在从库需要做为其他数据库的从库在需要做级联同步的数据库配置文件增加下面的配置即可log_bin=slave-binlog_bin_index=slave-bin.index
面试题023:MySQL主从复制故障如何解决?
答: 登录从库1.执行stop slave 停止主从同步2.然后set global sql_slave_skip_counter = 1跳过这一步错误3.最后执行start start,并查看主从同步状态登录主库1.进行全备数据库并刷新binlog,查看主库此的状态2.恢复全备文件到从库,然后执行change master3.开启主从同步start slave 并查看从同步状态
面试题024:如何监控主从复制是否故障?
答: mysql -uroot -p123456 -e “show slave status\G” |grep -E “Slave_IO_Running”|awk '{print $2}'|grep -c Yes通过判断yes个数来监控主从复制状态,正常情况等于2.
面试题025:MySQL数据库如何实现读写分离
答: 1.通过开发程序实现2.通过其他工具实现:如(mysql-mmm,mysql-proxy,mycat)
面试题026:生产一主多从从库宕机,如何手工恢复?
答:1.执行stop slave 或者停止服务。2.修复好从数据库3.然后重新操作主库同步:change master or。
面试题027:生产一主多从主库宕机,如何手工恢复?
答:1.登录各个从库停止同步,并查看看谁的数据最新,将它设置为新主库然其他从库同步其数据,2.修复好主库之后生成新操作主从同步的步骤就可以了#需要注意的新的主库之前是只读,需要关闭此功能让其可写。#需要在新从库创建与之前主库相同的同步的用户与权限#其他从库执行change master to master_port=新主库的端口,start slave。
面试题028:工作中遇到过哪些数据库故障,请描述2个例子?
答: 1.开发使用root用户在从库写入数据导致主从数据不一致,并且前端没有展示需要修改的内容(仍然是老数据)。2.内网测试环境服务器突然断电导致主从同步故障。
面试题029:Mysql出现复制延迟有哪些原因?如何解决?
答: 1.需要同步的从库数据太多2.从库的硬件资料较差,需要提升3.网络问题,需要提升网络带宽4.主库的数据写入量较大,需要优配置和硬件资源5.sql语句执行过长导致,需要优化。
面试题030:给出企业生产大型mysql集群架构可行备份方案?
答:1.双主多从,主从同步的架构,然后实行某个从库作为备份服务器2.编写脚本实行分库分表进行备份,并加入定时任务3.最终将备份服务推送至内网专业服务器,数据库服务器本地保留一周4.备份服务器根据实际情况来保留备份数据(一般30天)
面试题031:什么是数据库事务,事务有哪些特性,企业如何选择
答: 数据库事务是指逻辑上的一组sql语句,组成这个操作的各个语句,执行时要么成功,要么失败特点:具有原子性、隔离性、持久性、一致性、
面试题032:请解释全备、增备、冷备、热备概念及企业实践经验?
答:全备:数据库所有数据的一次完整备份,也就是备份当前数据库的所有数据增备:就在上次备份的基础上到现在所有的新增的数据冷备:停止服务的基础上进行备份操作。热备:实行在线进行备份操作,不影响数据库的正常运行。全部在企业中基本上是每周或每天一次,其他时间是进行增量备份热备使用情况是两天数据库在同时提供服务的情况,针对归档模式的数据库冷备使用情况又企业初期,数据量不且服务器数量不多,可能会执行某些库、表结构等重大操作。
面试题033:MySQL的sql语句如何优化?
答:主键和增加索引
面试题034:企业生产的mysql集群架构如何设计备份方案?
答: 1.集群架构可采用双主多从的模式,但实际双主只有一主在线提供服务,双台主之间做互备2.另外的从可做读的负载均衡,然后将其他一台抽出专业做备份。
面试题035:开发有一堆数据发个dba执行,dba执行需要注意什么?
答: 1.需要注意语句是否有格式上的错误,执行会出错导致执行过程中断。2.还需要注意语句的执行时间是否过长,是否会对服务器负载产生压力影响实际生产。
面试题036:如何调整生产线中MySQL数据库的字符集。
答:1.首先导出库的表结构 -d 指导出表结构,然后批量替换2.导出库中的所有数据(在不产生新数据的前提下)3.然后全局替换set names = xxxx4.删除原有库和表,并新创建出来,再导入建库和建表语句与所有的数据
面试题037:请描述MySQL里中文数据乱码原理,如何防止乱码?
答: 服务器系统、数据库、客户端三方字符集不一致导致,需要统一字符
面试题038:企业生产的Mysql如何优化(请多角度描述)
答:1.提升服务器硬件资源与网络带宽2.优化mysql服务配置文件3.开启慢查询日志然后分析问题所在
面试题039:Mysql高可用方案有哪些,各自特点,企业如何选择?
答: 1.主从架构2.Mysql+MMM3.Mysql+MHA4.mysql+haproxy+drbd5.mysql+proxy+amoeba
面试题040:如何批量修改更改数据表的引擎?
答: 通过mysqldump命令备份出一个sql文件,再使用sed命令进行替换或者执行下面的脚本进行修改#!/bin/sh user=root passwd=123456 cmd="mysql -u$user -p$passwd " dump="mysqldump -u$user -p$passwd" for database in `$cmd -e "show databases;"|sed '1,2d'|egrep -v "mysql|performance_schema"` do for tables in `dump -e "show tables from $databses;"|sed '1d'` do $cmd "alter table $database.$tables engine = MyISAm;" done done
面试题041:如何批量更改数据库字符集?
答:通过mysqldump命令备份出一个sql文件,再使用sed命令替换sed -i ‘s/GBK/UTF8/g’
面试题042:网站打开慢请给出排查方法,如是数据库慢导致,请如何排查并解决,请分析并举例
答: 1.可以使用top free等命令等命令分析系统方面性能的问题2.如是数据库的原因造成的就需要查看慢查询日志去查找并分析问题所在。
mysql 面试题库大全相关推荐
- java常见面试题库大全
java知识 一.Java基础 实例方法和静态方法有什么不一样? Java中的异常有哪几类?分别怎么使用? 常用的集合类有哪些?比如List如何排序? ArrayList和LinkedList内部的实 ...
- 全国计算机一级知识题及答案解析,全国计算机等级考试一级试题库大全完整版附参考答案...
21.Windows 操作系统是一个( ).A A.单用户多任务操作系统 B.单用户单任务操作系统 C.多用户单任务操作系统 D.多用户多任务操作系统 22.设Windows桌面上已经有某应用程序的图 ...
- 计算机考试题库电子版,全国计算机等级考试一级试题库大全完整版附参考答案...
A.用鼠标左键单击软键盘上的Esc键 B.用鼠标右键单击软键盘上的Esc键 C.用鼠标右键单击中文输入法状态窗口中的"开启/关闭软键盘"按钮 D.用鼠标左键单击中文输入法状态窗口中 ...
- 2019史上最全java面试题题库大全800题含答案
2019史上最全java面试题题库大全800题含答案 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有 ...
- 2019史上最全java面试题题库大全800题含答案(面试宝典)
2019史上最全java面试题题库大全800题含答案(面试宝典) 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中 ...
- 2022史上最全java面试题题库大全800题含答案
2022史上最全java面试题题库大全800题含答案 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有 ...
- java面试题题库大全800题
1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有哪些限制? 4. 什么是可变参数? 5. 什么是领域模 ...
- 【面试宝典】Mysql面试题大全
mysql面试题大全 1.数据库存储引擎 2.InnoDB(B+树) 3.TokuDB( Fractal Tree-节点带数据) 4.MyIASM 5.Memory 6.InnoDB与MyISAM的区 ...
- mysql5.7语句建库_MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全
如何下载: 我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloads/ 进入此界面下载: Downloads–>MySQL Commun ...
最新文章
- python【蓝桥杯vip练习题库】ADV-185五次方数(枚举)
- C# 值类型的局限性
- python 识别 None,NaN,null,‘‘,‘ ‘ 等无意义的值
- c语言全面,最新版c语言经典习题100例(最全面).doc
- Ubuntu 16.04扩展swap分区(内存)
- mysql 数据库中根据当前系统时间,取前后几秒、几分钟、几小时、几天
- 策略模式与简单工厂模式
- R语言查看包安装路径
- 外星人双系统ubuntu18.04安装killer E3100网卡驱动
- [MapReduce] Counter
- 2019-4给学员试讲内容分享
- python爬取相册_如何用python实现爬取微博相册所有图片 - 收获啦
- 项目管理 - 团队成员无法按期完成任务怎么办?
- 从零开始学前端第十七讲--微信小程序开发入门
- 使用js关闭浏览器的方法
- 差压传感器和差压变送器的区别在哪里
- 在HTML网页中书写JavaScript
- 电脑速度慢的原因及解决方法
- 迈向“超人认知”:脑机接口的未来
- 基于树莓派的python GPIO编程-常用函数综合整理