学习目标:

此次专栏主要针对想系统性学习Mysql的人员量身打造,跟随老师学习完全部章节后至少可以完成Mysql初中级任务。

其中包涵了老师在生产环境中遇到的各种故障问题,分析问题思路,解决问题方法,总结问题流程,整体学习由浅入深,由片到面。

每章节学习完成后请一定要按照老师的操作流程在自己的环境过一遍,只看是没有用的,如果看一遍就能学会,那我买上100本书躺家里看就行了,要什么电脑,一个字就是懒!

所以只要你打算学习,一定要提起你的精神,在初级阶段遇到什么问题了可以先看看自己是否哪个地方操作不当或操作顺序有问题,或者可以发到咱们的交流群里,老师 看到会第一时间响应朋友们,如果到了中级阶段遇到问题一定要先思考,一定要反问自己,不然到了高级阶段你的学习方式会影响你解决问题的效率,而且在学习阶段一定不要做伸手党!最后祝各位朋友们工作如意,事业高升,薪资大涨。

下面为一个本次专栏的学习路线,可以参考一下

环境准备

CPU:不低于2核
内存:不低于4G
磁盘:不低于50G
操作系统:CentOS
CentOS7.4下载地址: http://vault.centos.org/7.4.1708/isos/x86_64/

Mysql背景介绍:

接触过数据库或一直从事数据库的朋友们都知道当今最流行的两大数据库:

1.Oracle 2.Mysql(已被Oracle收购)

Oracle数据库虽为数据库界的无冕之王,一直保持 着数据库老大的位置,但其始终还是商业数据库,我们不做过多讲解,主要还是来聊聊Mysql,随着互联网企业的兴起及。

如:阿里巴巴 网易 Yahoo Facebook等大型互联网公司的推动,目前Mysql已经成为世界上最流行的数据库,并一步步开始占领了原有商业数据库的市场,目前Mysql已经成为互联网公司甚至部分传统公司的首选数据库,在我工作这些时间很少听说有互联网公司还在用Oracle的,近几年更是有部分大公司已经完成了由原来的核心业务Oracle数据库向Mysql数据库的转移,像很成功的案例:阿里巴巴 我们一起看一下2019年2月数据库的整体流行程序排名,可以看到Mysql直逼Oracle(只排名为流行度,并非使用率)

Mysql发展史:

最初为AB公司的产品,Mysql5.0及之前的版本均由AB公司管理,在2008年的时候AB公司被Sun公司收购,Mysql也就归属到了Sun公司下,但在Sun还没待舒服呢,Sun公司就被Oracle公司收购了,此期间诞生了一个Sun向Oracle的过渡版本:Mysql5.5(5.1-5.5之间没有发布过版本),直至5.6Mysql就彻底归属于Oracle公司旗下了,从Oracle收购Mysql以来,Mysql发展的速度及新的功能越来越强大,逐步向Oracle靠拢,如:表空间、redo、undo分离、隐藏索引,至2019年,Mysql8.0.15已经GA(官方发布稳定版本),可以看到在Oracle公司下的Mysql还是生长生育的比较好的,也祝贺Mysql找到了自己的最好的归宿,整体发展过程如下(AB版本不做加入):

5.1 → 5.5 → 5.6 → 5.7 → 8.0

Mysql分支介绍:

大家经过前面的了解知道Mysql是一个开源数据库,有开源那么就会出现分支(二次开发),Mysql有两家很牛X的分支公司percona、mariadb,虽然两家做的很优秀,但目前主流使用的版本仍为Oracle的Mysql(社区版),主要由Mysql社区进行维护,主要的Mysql版本如下:

Mysql(社区版)开源
Mysql(商业版)收费
percona
mariadb

再简单的对两家公司做下介绍,为什么说这两家比较牛X呢

Percona公司官网: http://www.percona.com/
Percona公司的产品为percona(基于innodb引擎提升自身性能及管理性 默认存储引擎xtraDB),虽然与Mysql名称不同,但是完全兼容Mysql
percona公司开发了一套Mysql的管理利器percona-toolkit(Mysql瑞士×××,所有的Mysql命令,性能优化,分析,备份等工具)
支持增量备份的percona-Xtrabackup(主流备份工具,实现裸文件热备份,增加备份恢复)
Mysql集群percona-xtraDB-cluster(PXC,解决主从延迟问题,达到近乎时时同步)
并且percona公司收购了tokudb存储引擎,该引擎支持压缩,可达1:5压缩比

Mariadb公司官网: https://mariadb.com/
Mariadb的公司老大Monty是原AB公司的老大,也就是说Mysql这玩意最初是出生于Monty的肚子,其功能的发展要迅于Mysql,很早实现了多源复制,支持水平分片的功能

学习Mysql的优点

1.大家都知道现在Oracle的薪资已经大不如前,初级岗位基本已经饱和,而MysqlDBA的薪资却一直保持在一个很高的水平,具体大家可以去招聘网搜索

2.去IOE的推进,腾讯、阿里、网易、新浪等大型互联网均在使用Mysql,并且小型互联网公司也基本全部在使用Mysql,一些传统企业也在进行由Oracle向Mysql的转型

3.Mysql是一个开源的数据库,如果你懂C,你有问题或者原理不懂的地方,可以直接去扒代码,并且Mysql社区很活跃 交流讨论很方便

4.轻量级数据库,Mysql有很好的扩展性,结合NOSQL,主从复制扩展,安装简易

5.强大的复制级别,Mysql现在支持多种复制级别,可以根据业务需求进行灵活选择

Mysql的下载

Mysql下载地址:https://downloads.mysql.com/archives/community/

此次主要针对于Mysql5.7.20、CentOS7.4(6版本也可以,有不同之处我会标注)进行讲解,没有环境的同学请先安装好自己的操作系统,进入Mysql下载页选择5.7.20,Linux - Generic即可(兼容Linux平台),大家也可以尝试下载其他版本,像后续我们安装会讲解5.6与5.7的区别,可以下载5.6.2几GA的版本,在自己的生产系统选择时:发布6个月以上的GA版本,前后几个月没有大BUG修复版本

Mysql数据库组成

Mysql是由实例与数据库组成(与Oracle相似,不同的是Mysql有强大的存储引擎)
Mysql实例:内存数据、进程任务
Mysql数据库:参数文件、数据文件、日志文件

小结

今天我们了解了Mysql的发展史、版本、分支、Mysql的优势、Mysql的组成,每天我们都会形成一张脑图总结本章学习的主要知识点部分,大家最好也根据自己的收获去总结一下自己的脑图, 最终形成一套Mysql整体的学习知识点脑图,以后方便我们查阅知识点,对Mysql有架构型认知。

如果还有其他有关Mysql介绍的信息大家也可以问我,也可以度娘去找一些相关资料,由于发展史部分只是了解,不做过多介绍,我们把重点还是留在后面的知识点上去。

下一章我们开始进行Mysql的安装及安装后的一些小问题介绍,关于环境部分大家可以使用vmware的虚拟机,也可以用oracle的虚拟机都可以,操作系统安装CentOS,在进行下一章学习前一定要先自己的环境准备好,下章我们再会!