🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
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。