如何成为MySQL DBA
互联网高速发展的成功,得益于MySQL数据库的给力支持。MySQL本身发展的速度较快,性能方面提升显著,让传统企业也有想法使用MySQL提供服务。目前看来MySQL DBA的缺口非常大。所以欢迎加入到MySQL DBA的团队中来。
有同学一提到MySQL DBA或是DBA都把高难度入门联系到一块。我从事MySQL DBA差不多10几年了,在这里我也给大家讲述一下怎么成为一名MySQL DBA, 少走湾路,快速成为MySQL DBA。
首先MySQL大多是跑在Linux环境上的,所以我们需要学习一下Linux的知识,最基础的需要了解:
Linux的安装及目录结构意义
常用的Linux命令,大概20多个
网络基本知识,进一步了解网关及路由相关概念,dhcp
撑握一定的Linux网络服务,如果LAMP结构,dns, ftp 等
其实具备上面的条件,你就可以开始MySQLDBA的学习之路了,其它的知识,可以在学习中补。 MySQL DBA比较特殊,不像别的数据库分为开发DBA,运维DBA,基本上MySQLDBA要把所有的活都干下来,因为MySQL太简单了,很好搞定。 那么下面给大家说一下MySQL DBA的学习路径:
了解MySQL的版本意义
学习MySQL的安装方式,从根本上理解MySQL的启动原理
学习SQL语言,把高中数学中集合知识好好在学习一下,再来看SQL语言
学习SQL在MySQL使用中的一些规范(这些最好找有经验的请教一下,或是看看大会中别人分享的学习思考)
学习MySQL的高级特性: 触发器,事件,存储过程编程,分区等
学习MySQL的复制,了解复制原理及实现和相关高可用架构中有什么不足
学习PXC结构的实现,了解运维中的坑
系统的学习一下MySQL的体系结构,思考如何做MySQL优化,总结配置优化
学习MySQL的备份恢复,这块可能需要多一些时间好好的系统的学习一下
掌握几种压力测试的方法,方便优化后能做一个验证
深入理解Innodb的体系结构,全面理解一下事务及锁的实现,能解析出来一个update tb1 set col1=col1+1 where pk=10; 这样的语句在Innodb都干了什么了。
可以说上面的东西并不是很难,基本上只要认真努力,都可以进入到MySQL DBA的大门了。当然如果想进入更高级的DBA工作环境,还是需要点更高级的知识:
理解MySQL的特点,方便在实际环境决择
理解操作系统的IO调度,内存分配,CPU使用等
理解复制的优缺点及改善的方法
理解系统监控及系统瓶颈点分析
有一定的问题排查思路
可以全面的理解高可用的实现及自定义实现高可用架构
有一定的平台管理意识及实现能力
理解拆分的作用及实现的方法
万里长征始于足下,整体上来说踏上技术这条路,就要学会保持学习,能持续更新,敢于多关注最新的资源,利用现有的资源走上更的境界:
了解现有硬件的特点
了解业务的实现及难点
了解常见NoSQL的使用
关注新技术
进入MySQL DBA架构师级别可以进行容量的规划
如果想系统提高一下MySQL DBA技术的,如果你是在职人员,可以利用周六时间来参加一下我的《MySQLDBA周末提高加班》,如果你现在没有工作,那可以考虑拼博3个月参加一下我组织的《MySQL DBA零基础就业脱产班》 一同走上MySQL DBA岗位。请联系我QQ: 1037447289/微信:zhangdh1113. 2016年一起腾飞。
在技术的成长之路,还有有一个比较重要的路径:多参加同行业技术交流,关注行业技术实现。推荐: MySQL中国用户组,FireFlyClub 也欢迎各位加入。