互联网高速发展的成功,得益于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 等
其实具备上面的条件,你就可以开始MySQL DBA的学习之路了,其它的知识,可以在学习在补。 MySQL DBA比较特殊,不象别的数据库一样,需要分为开发DBA,运维DBA,基本上MySQL DBA要把所有的活都干下来,因为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技术的,如果你是在职人员,可以利用周六时间来参加一下我的《MySQL DBA周末提高加班》,如果你现在没有工作,那可以考虑拼博3个月参加一下我组织的《MySQL DBA零基础就业脱产班》 一同走上MySQL DBA岗位。请联系我: QQ/weixin: 82565387. 2016年一起腾飞。
在技术的成长之路,还有有一个比较重要的路径: 多参加同行业技术交流,关注行业技术实现。推荐: MySQL中国用户组, FireFlyClub 也欢迎各位加入。
原文发布: http://wubx.net