MySQL DBA修炼秘籍

标签: MySQL基础知识 DBA | 发表时间:2016-02-20 11:26 | 作者:OurMySQL
出处:http://ourmysql.com

0、导读

本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA。

1、什么是MySQL DBA

首先,DBA是database administrator(数据库管理员)的简称,在一些招聘网站上,也可能会把职位写成数据库[管理]工程师,MySQL DBA是目前互联网企业中最为炙手可热的岗位需求之一,前(钱)景大好,快到碗里来吧。

2、MySQL DBA的职责

传统意义上的DBA基本上只要管好database system就可以,一般无需关注操作系统、硬件、网络、安全、NOSQL等相关技术细节,在一些传统企业或者操作集成商里的ORACLE DBA就是这样的,最多关注到主机(小机为主)及相应的存储设备。

而MySQL一般在互联网业务中使用,MySQL DBA需要关注的方面也相应更多了,主要就是上面提到的主机硬件、OS、网络、安全、NOSQL,以及一些MySQL运维自动化开发(这不奇怪,一个好平台,通常都要自己亲自开发才顺手)的工作。

此外,随着企业规模的变化,可能在公司初期是由一些比较资深的开发工程师负责所有服务器大小事宜,当然也包括MySQL的管理及优化。随着规模的扩大,可能改由运维工程师来负责这些事了。更进一步的话,就开始需要专职的MySQL DBA了,随着业务发展,形成DBA team,同时负责和数据及存储相关的事务,比如存储设备、NOSQL、日志存储&分析,甚至大数据平台。

在一线的大型互联网公司里,甚至还区分 运维DBA开发DBADB架构师等不同岗位,为的就是能做到 术业有专攻,让专业的人专注做专业的事

比较理想的MySQL DBA工作状态应该是这样的:

  • 例如MySQL实例安装、备份&恢复、SLAVE搭建、权限管理、DDL&DML变更上线等基础的工作,通过DB平台鼠标点点点即可完成,大概占用10%的时间;

  • 关键业务的SQL审核也可采用DB平台来完成,尤其是一些常规的SQL规范规则,DDL相对好办,DML可能需要进一步完善的评估,个别SQL再采用人工审核,平时经常和业务部门进行沟通,了解下阶段的业务目标,预估DB端可能需要承载的压力,大概占用20-30%的时间;

  • 通过监控系统来完成可用性及性能监控,发现异常时,再进行人工干预处理,一些容易引发性能问题的常见情景,也可以固化到自动化处理机制中,比如自动探测超过N秒的纯SELECT查询,避免这种慢SQL产生连锁反应,或者自动杀掉一些有SQL注入风险的请求,大概占用10%的时间;

  • 数据库主动优化,一个有丰富经验的DBA,看到数据库的一些现场情况时,一般即可预感到是否需要进一步深入优化工作。而SQL开发规范推送也很重要,可以在开发阶段让程序猿做好基本的SQL优化,这样上线后不会手忙脚乱,反复的出现一些低级SQL性能问题,大概占用20-30%的时间;

  • 其余的时间可以用来充电学习,以及圈内的交流扯淡了,扩展知识面。

3、如何成为MySQL DBA

事实上,MySQL DBA的入门并不难,但若想要成为高级、资深的DBA就有一定难度了。

如果是在校生,最起码要先把《数据库概论》那门课程给学一遍,其实如果是已经在职但对数据库还没什么概念的人,最好也要学习下这本书,对数据库基本概念有一定理解。

此外,最好还要对Linux有一定了解,现如今在互联网公司中,如果想从事和技术相关的岗位,你告诉面试官不懂Linux为何物的话,估计直接就被pass了。想学习Linux,可以买本《鸟哥linux私房菜》或者参加专业培训(花钱参加培训并不是什么丢人的事,关键是要找到一个靠谱的机构,靠谱的老师,学习效率会更高,知识也更为系统化,而自学毕竟要消耗更多时间,也可能比较零散,花钱买时间学会后,可以更快获得回报)。

有了基础概念后,可以再买一本MySQL相关的基础入门书籍,比如《MySQL必知必会》、《深入浅出MySQL》等,其实我更建议把MySQL官方手册中的关键章节完整看一遍(关注公众号 imysql_wx,发送“ 章节”获得推荐),并结合里面的案例进行测试,或者自己用wordpress搭一个博客站,平时可以自己做些实践演练。

如果能专注把上面的内容学习完毕,我相信你已经可以成为一个合格的初级MySQL DBA了。接下来就是找到一个合适的工作机会(可以把简历给我,我根据情况可帮忙进行推荐),进行真正的实操,获得正式从业经验。

4、MySQL DBA如何提升

事实上,如果你已经获得了MySQL DBA工作机会之后,如何进行自我提升通常来说已经不需要我来说了,可以参考公司里的同事以及其他同行的提升发展道路模式。

通常来说,在这个阶段需要深入学习的是某些关键知识点,比如数据库原理、并发事务、锁控制、存储引擎、主机硬件优化等知识。有些不错的书可以推荐,比如:《高性能MySQL》、《数据库系统实现/概念》、《数据库与事务处理》、《数据库索引设计与优化》等等。

5、后记

后记一

从目前的行业情况来看,MySQL DBA还是个很热门的职位,现在加入还不算晚。除了自学成才外,还可以考虑 参加我和吴炳锡合作的“知数堂MySQL DBA实战优化”培训课程,截止目前已经举办了六期两百多名同学,个别优秀学员成功加入支付宝、京东、去哪儿、畅游、美菜网、37游戏等各大互联网公司。

后记二

此前有朋友让我推荐一些MySQL相关的技术资源,自己收藏吧:

猜您喜欢

相关 [mysql dba 修炼] 推荐:

MySQL DBA修炼秘籍

- - OurMySQL
本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1、什么是MySQL DBA. 首先,DBA是database administrator(数据库管理员)的简称,在一些招聘网站上,也可能会把职位写成数据库[管理]工程师,MySQL DBA是目前互联网企业中最为炙手可热的岗位需求之一,前(钱)景大好,快到碗里来吧.

如何成为MySQL DBA

- - OurMySQL
       互联网高速发展的成功,得益于MySQL数据库的给力支持. MySQL本身发展的速度较快,性能方面提升显著,让传统企业也有想法使用MySQL提供服务. 目前看来MySQL DBA的缺口非常大. 所以欢迎加入到MySQL DBA的团队中来.       有同学一提到MySQL DBA或是DBA都把高难度入门联系到一块.

MySQL DBA面试全揭秘

- - OurMySQL
本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,也有很多公司找不到合适的DBA. 原因很简单,优秀的人才要么被大公司圈起来了,要么被创业公司高薪挖走,如果你既不是大公司,又不能出得起高价钱的土豪公司,想要找到优秀人才的几率堪比买彩票中奖的概率,哈哈.

Mysql DBA 20天速成指南

- - 鲁塔弗的博客
准备一台pc,一根网线和20天无打扰的空余时间,把 MySQL 5.1参考手册设置为浏览器首页,按下面列表逐条学习即可,这本中文手册包括基本上所有的内容,补充知识google也都能查到,学习平台采用linux. mysql 第3方存储引擎安装配置方法. mysql 主流存储引擎(MyISAM/innodb/MEMORY)的特点.

一线DBA总结:MySQL搭配XFS文件系统优势最大

- - MySQLOPS 数据库与运维自动化技术分享
来自国外问答SNS网站Quora的一个问题:XFS、ZFS和ext3这3个文件系统哪个能够与MySQL产生最佳的性能?对此,来自Facebook的资深数据库专家Domas Mituzas给出了自己的解答,他认为MySQL最适合XFS文件系统. 在XFS文件系统的Linux版本发布之前,选择适合的Linux文件系统很简单,追求原始性能通常倾向于使用ReiserFS,而重视数据完整性则首 选ext3.

每个DBA都需要知道的10个提升MySQL性能的基本技巧 - 推酷

- -
从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之中,你的工作也承受极大的风险. 不过事实是,普通的错误都在MySQL性能错误的射程之内. 所以为了使你的MySQL服务器能够高速运转,提供稳定且持续的服务,消除这些错误是非常有必要的,但是这可能常常会被你的繁忙工作或配置陷阱微妙地遮蔽了.

DBA工作总结

- - CSDN博客数据库推荐文章
一年以来,本人尊敬领导团结同事、服从安排 遵守纪律,坚持努力学习专业知识,兢兢业业克己奉公努力工作. 总结过去,在知识结构上,能够完成了EBS-DBA的各项工作;在日常工作XX,能够完成EBS-DBA的各项工作任务,适应了DBA工作岗位要求的职责,掌握了EBS-DBA要求的多项技术. 我一年以来的主要工作从以下几个方面说起主要包括日常维护、补丁更新,安装规划,文档整理,最后给出下一步规划.

DBA团队的使命

- 2sin18 - Alibaba DBA Team
DBA团队的使命:提供高可用、高性能、可扩展的数据存储服务. 高可用:可用性是运维的根本,我们不管做什么事情,都要把可用性放在第一位. 高性能:对性能的关注是我们一直坚持、做的最好的一面,仍需要继续做到极致. 可扩展:也就是最适合的,易部署,可线形透明伸缩. 数据存储:不只是关注某个数据库本身,是基于对各种最先进的数据存储技术的精深理解,提供最专业的服务.

DBA Notes 也有 iPhone App 了 ?

- Epile - DBA notes
刚才在我的 Google+ 上发布了一条半开玩笑的信息:DBA Notes 也有 iPhone App 了. 其实没那么神奇,借助于这款 iOS App : Bloapp .. 安装完这个 App 之后,到其网站上"创建"你的 App,其实主要是一些视觉风格的定义,用它扫描生成的这个 QR Code :.

一个DBA眼中的HBase

- - IT技术博客大学习
标签:   HBase.     Hadoop,HBase,NO-SQL是当今业界比较火的一些名词. 满互联网都是对它的他们的赞许,其实光芒的背后还有部分缺点. 本文只是我vogts的一些观点和想法.     HBase的优点:.     分布式,易扩展,高性价比,运维成本低都是它的优点. HBase可以支持海量数据,单张表的数据量不上T,都不好意思出来打招呼.