- 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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
基本知识 1.mysql的编译安装 2.mysql 第3方存储引擎安装配置方法 3.mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点 4.字符串编码知识 5.My
1. 使用-r/-i参数 使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,
Oracle11g是比较通用的版本,尝试安装Oracle 12c可惜失败了,没有办法 以下是整理的资料 1. 系在安装文件连接 http://download.oracle.com/otn/l
1.mysql的远程连接命令可以远程导入导出数据 mysqldump --default-character-set=gb2312 -h255.255.000.00 -uroot -px
1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user&
在 XP SP2 虚拟机中运行 Oracle 11gR1。完全披露:这是一项任务。 我试图在用户被授予 DBA 角色时进行审计,并在事件发生时发送电子邮件。 我相信命令 AUDIT DBA;将审核对
我有一个大约一百万行的表,我需要用冗长的计算结果更新表中的每一行(计算得到的每一行的结果可能不同)。因为它很耗时,所以 DBA 必须能够控制执行。这个特定的计算需要每年运行一次(它做一个年终总结)。我
我正在重新构建一对使用 Hibernate 的应用程序,第二种情况是 Hibernate 和 Java Content Repository(特别是 JackRabbit )的组合。 重新架构的一个关
我使用以下docker compose文件启动basexhttp服务器和dba: 版本:“3” 服务: basexhttp: 图片:basex / basexhttp 端口: -“1984:1984”
我们在不同的数据库下有很多模式。我没有 DBA 权限。我确实有登录模式和更改密码的特权。我们会在六个月内更改密码。目前,这是一个手动且耗时的过程。即登录到数据库下的每个模式并使用“密码”命令更改密码。
我需要在我的应用程序中概述您可以在数据库的 sql 或 pl/sql 语句中使用的所有包。我需要包名称和过程/函数及其描述。 例如: dbms_output:提供一些输出的包 dbms_output.
我必须安装一个需要用户写入数据库的应用程序服务器,可能会创建新的方案等。但是,我一直使用“变通方法”将 DBA 角色分配给该用户。 我有一些问题,因为我对 Oracle 安全性的了解并不深入。 DBA
我对所有加密、散列等都是新手。我收到了来 self 的 dba 的电子邮件,告诉我从 .properties 文件中读取 admin un,密码,它看起来像这样: ldap.provider.admi
我希望了解更多关于数据库(初学者使用 MySQL)的知识,特别是关于在某种情况下选择正确方法(例如存储过程与 View 和触发器以进行数据聚合)的知识。 也许这个例子说明了我的意思:昨天我问了一个关于
即使代码必须由 dba 授权或创建,创建表和索引等对象也是必不可少的。有经验的开发人员应该注意哪些其他通常由 dbas 执行的领域? 最佳答案 开发人员有责任尽一切努力使他的代码a)正确并且b)快速。
我正在尝试寻找数据库解决方案,我发现 Infobright 和 Amazon Redshift 是潜在的解决方案。两者都是列式数据库。 Infobright 已经存在了很长一段时间,而 Amazon
我很好奇其他人如何在没有 DBA 的情况下解决许多(10 多个)开发人员维护和同步数据库更改的问题?我的意思是,基本上,如果有人想对数据库进行更改,那么执行此操作的一些策略是什么? (即我已经创建了一
DBA 是数据可用性、性能和安全性的重要组成部分。获得优秀的 DBA 是任何公司可以做的最重要的事情之一,以确保他们的数据库操作继续正常工作。那么如何找到优秀的 DBA 呢? 在这篇文章中,我
在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色。DBA的工作目标就是确保Microsoft S
我是一名优秀的程序员,十分优秀!