小白学习MySQL需要多长时间,能从事哪方面的工作?

17 篇文章92 次收藏

MySQL 作为目前最为活跃热门的开源数据库之一,具有低成本和简易操作的特点。在炙手可热的 BAT(百度、阿里巴巴、腾讯)中,都大量使用了 MySQL。显然,对于想在互联网行业大展手脚的数据库工程师和 DBA 们,熟练 MySQL 无疑是一块很好的敲门砖。

每个人的情况不同,自称小白的人基本有以下 3 类:

1)求职储备(无工作经验)

没有相关经验,还没有走上工作岗位,只是对 MySQL 感兴趣或者好奇

2)DBA萌新(较少工作经验)

刚入行的新手,或者有少量经验的 DBA 新人,经常会发现实际工作和网上说的不一样

3)工作中会用到(有工作经验)

可能是开发类的同学,有一定工作经验,工作中要用到 MySQL 数据库,只是简单用,想深入学习一下

对于 MySQL 的学习周期和难度,大家是很关心的。下面我们用比较成熟的商业数据库 Oracle 作为参考,来对比学习 MySQL 的一些特点。

数据库名称OracleMySQL
数据库类型商业闭源开源
功能完善情况非常齐全比较齐全
学习周期较短
学习难度(入门)容易
学习难度(深入)更难
Oracle到MySQL\相对容易
MySQL到Oracle\
深度进阶内核、调试源码定制、改造

从技术栈上来说,MySQL 的入门周期相对要短,学习难度较容易。但是如果要深入了解使用,因为其开源和社区的原因,发展空间更大,相对也就更难。另外,MySQL DBA 的“钱途”从市面需求来说也要好一些。

从我的理解中,MySQL 主要有 3 个知识层面,即运维管理,架构优化和运维开发。

1)运维管理

运维管理主要就是基础运维的工作(安装部署,备份恢复,权限管理之类的工作)和一些变更类管理和规范操作(在线变更,数据库复制,SQL 规范等工作),这部分工作上手较快。

2)架构优化

架构和优化涉及的工作面比较宽,而且技术要求有一定的深度,主要分为 SQL 查询优化,事务和锁,MySQL 集群和高可用技术,分布式数据库架构等。这部分工作中对于很多开发同学来说,要注重于查询优化。而对于从初级走向中高级的 DBA 来说,则要更注重于相关的锁机制、集群和高可用相关技术。

3)运维开发

运维开发的工作不是简单的数据库自动化运维,而是分为应用层和内核。我们常说的运维开发是偏向于应用层的,比如数据库管理工具等。而内核层需要掌握源码开发能力,比如开发数据库中间件,SQL 审核工具等。

MySQL 主要从事以下 3 方面工作。

1)技术支持工程师。

MySQL 只是该工作技能之一。掌握 MySQL 安装,维护和基本操作就可以。基本月薪 6K~10K。

2)系统集成工程师。

MySQL 只是该工作技能之一。掌握 MySQL 安装,维护和基本操作就可以。基本月薪 6K~10K。

3)数据库工程师。

这个就分很多种了,主要看 MySQL 的掌握程度。一般的是 MySQL 数据库管理员。基本月薪 10K~15K。

高大上的有数据分析工程师,数据库开发工程师,数据库建模工程师,数据库挖掘工程师等,这类需要掌握 Oracle 数据库。基本月薪 15K~28K。