首页 > 编程笔记 > MySQL笔记

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

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

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

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

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

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

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

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

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

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

数据库名称 Oracle MySQL
数据库类型 商业闭源 开源
功能完善情况 非常齐全 比较齐全
学习周期 较短
学习难度(入门) 容易
学习难度(深入) 更难
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。

所有教程

优秀文章