- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章十个非常棒的 MySQL DBA 面试题(附答案)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
DBA 是数据可用性、性能和安全性的重要组成部分。获得优秀的 DBA 是任何公司可以做的最重要的事情之一,以确保他们的数据库操作继续正常工作。那么如何找到优秀的 DBA 呢?
在这篇文章中,我将向您展示我在面试 DBA 候选人时喜欢问的一些问题.
性能至关重要,那么这位候选人是否知道MySQL如何调整和优化?
1、首先:您会推荐哪些最常见的性能优化?
这是关于概念性知识的,通常是一个开放式问题。他们是否正在考虑扔硬件和增加资源?这是最简单的解决方案,但通常不是正确的解决方案。如果数据库设计不佳,性能通常会受到限制。他们会谈论这个吗?我希望人们讨论最佳选择,并决定哪些变量或修复最有意义。我在客户那里看到的简单答案是调整像“innodb_dedicated_server”这样的单个变量,这当然有帮助,因为它是几种配置的快捷方式,但如果你不正确理解它可能会导致一些不希望的伤害(比如很多不需要的重做日志文件)。我正在寻找人们了解快速问题和长期问题之间的区别.
2、在 IO 绑定的系统中,为了更好地利用 IO,您需要哪些主要调优参数?
磁盘 IO 是任何数据库中最慢的部分,任何 DBA 都必须了解这个概念。简单的答案总是添加更多内存,但这不仅仅是关于缓冲池。候选人是否了解影响 IO 的其他变量和数据库内部结构?例如,他们是否了解重做日志、刷新、io_capacity 等,他们可以了解他们所做的事情吗?这些变量的组合将减少 IO 依赖,同时延长 SSD 寿命.
3、你会接到电话说数据库速度很慢。你是做什么的?你如何识别一个慢查询?优化查询的最佳策略是什么?
查询优化是每个 DBA 都必须知道的活动。即使数据库在 99% 的情况下看似快速且高性能,一个恶意或慢查询也可能导致整个应用程序瘫痪。在这里,我们正在寻找不仅找到慢查询而且调整和修复它的过程。我们需要了解导致查询速度慢的原因是什么,例如索引、SQL 编写技巧不佳等。幸运的是,我们有工具可以识别坏人并帮助优化过程。候选人决定使用的工具没有他们经历的过程那么重要。我们正在寻找诸如识别缺失索引、错误主键、超大表问题、模式设计等的能力.
4、假设您需要将 MySQL 服务器的流量增加 10 倍。您的可扩展性策略是什么?读取的缩放比例与写入的缩放比例相同吗?
这里有许多可扩展性策略。您不仅要寻找具体的技术或流程,还要寻找它们背后的原因。需要讨论和深入研究的关键事项:添加副本以卸载流量、设置负载均衡器、增加可用硬件、分片等。所有这些都是有效的策略。真正的问题是候选人是否理解它们以及何时应该使用和不应该使用它们?
每个 DBA 都必须构建并确保他们的数据库系统在需要时可用。因此,了解数据库可用性策略至关重要。必须提出问题来衡量他们的理解:
5、您如何解释异步复制滞后?为什么会有问题呢?你会如何解决它呢?
异步复制仍然是一个非常重要的话题,虽然性能随着 MySQL 的每个版本和修改而不断提高,但我仍然在帮助很多客户解决复制设置和延迟的问题。许多公司使用副本进行报告、备份和高可用性,因为我们希望我们的副本尽可能保持最新。好消息是,这也为候选人提供了另一个跳出框框思考的机会,因为异步复制延迟可能会受到数据库设计问题的显著影响,例如没有主键、长时间运行的查询、选择更新等.
6、他们能解释异步复制和同步复制之间的区别吗?他们什么时候会选择一个而不是另一个?
当然,您可以在 MySQL 中使用几种不同类型的异步复制(MySQL GTID、MariaDB GTID、Tungsten Replicator)和同步复制(Percona XtraDB Cluster、MySQL Group Replication),因此了解他们的一般知识有助于评估他们的技能。虽然这里没有 100% 正确的答案,但重要的是要了解选择一种解决方案而不是另一种解决方案的决策驱动因素是什么,例如性能、一致性、可用性等.
7、基于 Galera 的解决方案最少需要多少个节点?添加更多节点的利弊是什么?
MySQL 领域有两种主要的集群解决方案。基于 Galera 的复制,如 Percona XtraDB 集群和基于组复制的集群,如 InnoDB 集群。这个问题的关键是要知道 Galera 是为一致性和可用性而设计的,而不是为编写可伸缩性而设计的。理解这些差异非常重要,因为“更多的写入器就更多的写入”的想法是很常见的,就好像添加更多写入器节点可能会增加集群的写入容量.
当然,您需要确保候选人不仅知道如何排除性能故障和设置高可用性,还需要了解一些基本的数据库操作和技术。至少询问一个关于安全、备份和主机(云或非云)的问题,是确保您了解基本知识的好方法.
8、请描述您推荐的备份策略。你会使用什么工具以及如何使用?
了解备份的重要性很重要。我正在寻找能够引导我了解他们的经历并告诉我他们认为什么是好的和安全的备份策略的人。当他们说话时,我会问一些问题,看看他们是否了解他们所运行的设置的限制或好处。我希望他们能够掌握不同的备份选项(物理的、逻辑的)以及可以推荐的备份策略(每日、每周、每月、完整、增量等)。当然,我对人们如何确保他们的备份“良好”非常感兴趣。不是每个人都认为恢复测试应该被视为备份策略的一部分.
9、部署 MySQL 时您会遵循哪些基本安全策略?
这一次也还是没有标准的答案,但毫无疑问,DBA 必须保护公司的数据。需要注意的一些事项:强密码、只能从 localhost 进行 root 访问、删除没有密码的用户、将 SUPER priv 删除给非管理员用户、限制用户访问他们自己的数据库/表、加密数据等.
10、请解释 RDS MySQL 和 Aurora 之间的主要区别。您何时会推荐一种解决方案而不是另一种?
毫无疑问,云已经改变了我们运行数据库的方式。候选人是否对 AWS 的前两个 MySQL 选项之间的差异有基本的了解?他们是不同的,他们知道吗?了解优点和缺点是至关重要的。虽然 RDS 提供了一种简单的方法来设置开箱即用的异步复制,但它需要一些操作活动来确保环境健康,即数据一致性检查、在主故障时处理故障转移等。另一方面, Aurora 通过以更高的成本和一些额外的写入开销确保一致性和可用性来解决操作部分,因此它可能无法在高流量环境中很好地扩展.
原文地址:https://mp.weixin.qq.com/s/8QLpTfunWNFw57OmNq-_hA 。
最后此篇关于十个非常棒的 MySQL DBA 面试题(附答案)的文章就讲到这里了,如果你想了解更多关于十个非常棒的 MySQL DBA 面试题(附答案)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) @ 目录 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) 1. 基本
八,SpringBoot Web 开发访问静态资源(附+详细源码剖析) @ 目录 八,SpringBoot Web 开发访问静态资源(附+详细源码剖析) 1. 基本介绍
在sql语句执行前 DB::enableQueryLog(); sql sql sql sql sql dd(DB::getQueryLog()); ?
本文实例讲述了PHP global全局变量的使用与注意事项。分享给大家供大家参考,具体如下: 使用global在方法里面声明外部变量为全局变量,即可以调用该变量。 示例1. global基本用法
SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前sessio
性能测试,在编写代码后,单元测试及性能测试是重要的验收点,好的性能测试可以让我们提前发现程序中存在的问题。 测试用例 在Rust中,测试通常有两部分,一部分是文档测试,一部分是模块测试。 通常我们
我正在制作一个非常简单的应用程序,它有一个输入框和一个按钮。 Input 用于输入email 使用事件处理器订阅按钮 输入电子邮件并点击按钮将进行 api 调用,(此方法有效) subscribe
我正在制作一个非常简单的应用程序,它有一个输入框和一个按钮。 Input 用于输入email 使用事件处理器订阅按钮 输入电子邮件并点击按钮将进行 api 调用,(此方法有效) subscribe
一个星期以来,我一直在努力寻找如何做到这一点,但一直无法做到。我的 html 导航栏看起来像这样。
我们经常在程序设计中用到的数组,同样在脚本中很常用。本节就详细介绍一下数组,以及哈希表在PowerShell中的使用。 数组 在PowerShell中,声明一个变量为数组时,需要使用符号&quo
方法一:先查询出所有记录,然后在逻辑层转化为拼音首字母后查询,显然傻瓜才会这么做。 方法二:在需要搜索的表中添加一个字段用于存放被检索字段内容对应的拼音,在搜索的时候同时去查询这两个字
intellij idea2021是一款java开发神器,功能丰富好用,本文提供其安装包、破解版、补丁、绿色版、激活码等下载,手把手教大家完美安全永久安装破解,亲测绝对可以永久激活。 此方法支持所有的
我在构建一个网站时遇到了一个问题,即我的 h1 内容与我的导航栏重叠。我在 css 中使用了 margin-top 标签,但它不起作用。
前言 时隔2年.(PS:其实陆陆续续在优化,不过没发博客).. .本组件又迎来了新的更新... 很久没更新博客了.生了娃,换了工作单位,太忙了..实在抱歉 NE
为什么 CLGeocoder reverseGeocodeLocation 在查找地址时返回具有不同纬度/经度的地标? 背景:就用户在 map 上“长按”以放置图钉而言,但我的代码对此进行了反向地理编
我是一名优秀的程序员,十分优秀!