加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL系列(一):MySQL深入学习先导篇之基础架构

发布时间:2023-01-05 05:06:43 所属栏目:MySql教程 来源:互联网
导读:
一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。
为什么要学习 MySQL?
目前在使用互联网技术的公司中,几乎每家公司都会用到数据库技术来存储一些

一枚用心坚持写原创的“无趣”程序猿,在自身受益的同时也让朋友们在技术上有所提升。

为什么要学习 MySQL?

目前在使用互联网技术的公司中,几乎每家公司都会用到数据库技术来存储一些信息。目前市面上用的比较多的主流数据库有 MySQL、Oracle,以及逐渐流行起来的 PostgreSQL;下图为截止发稿前各类数据库的排名情况(数据来源于 DB-Engines 官网)

mysql培训_mysql培训_mysql培训视频

从图中可以看出,前 2 名是 Oracle 和 MySQL,可见其应用的受欢迎及广泛使用程度;由于 Oracle 和 MySQL 都是关系型数据库且 Oracle 不是免费的,本系列文章我们重点来讲解 MySQL 的相关原理实现。

本系列的侧重点是什么?

关于 SQL 基础语法不会做过多讲解,如果对 SQL 基础语法不熟悉的朋友可以在公众号后台回复 MySQL,下载《SQL 必知必会》PDF 进行自学,也可以通过 Google 方式进行自学。

本系列侧重点是 MySQL 的底层实现原理、SQL 调优、高性能的索引设计、MySQL 集群等等。

本系列文章学完之后你能得到什么?关于 MySQL 环境及版本的选择安装使用环境:MacBook Pro 10.14.6MySQL 版本:5.6mysql培训,选择该版本原因有二:

基于以上两点,最终选择使用 5.6 作为本系列内容讲解的版本,当然也会介绍一些最新版本下的新特性供大家了解学习。

本系列文章大纲MySQL 安装及基本架构原理介绍MySQL 的并发控制和锁机制是怎么工作的MySQL 索引构建原理,如果创建出高效的索引SQL 执行原理及优化MySQL 集群搭建及主从同步原理MySQL 集群的高可用实际生产环境中 MySQL 与缓存是如何配合使用的?MySQL 数据备份与恢复(了解学习)......

以上为本系列文章大纲,当然会随着文章的逐步讲解会根据实际情况进行相应的调整(主要是作者写文章比较随性,想到比较好的话题会随时插入到系列文章中来)。

MySQL 的安装及验证MySQL 下载地址(downloads.mysql.com/archives/community/),选择5.7的dmg版本下载。

mysql培训_mysql培训视频_mysql培训

安装,完成后打开系统偏好设置 -> 点击 MySQL -> Start MySQL Server

mysql培训_mysql培训视频_mysql培训

mysql培训视频_mysql培训_mysql培训

2.配置环境变量

3. 验证

mysql培训_mysql培训视频_mysql培训

mysql培训_mysql培训_mysql培训视频

到此,MySQL 安装完成,关于 MySQL 的语法基本使用,不熟悉的朋友请先看文章开头下载 PDF 进行学习。

MySQL 的基础架构

mysql培训_mysql培训_mysql培训视频

MySQL 整个架构图如上所示,可以分为三部分。第一部分是客户端,用于向服务端发送请求;第二部分为淡绿色框里面的内容:

第三部分是存储引擎,存储引擎是用于存储数据进行 CRUD 操作后对数据处理结果进行存储的;不同的存储引擎实现的功能也不一样,比如 InnoDB 存储引擎实现了事务功能,而 MYISAM 存储引擎并没有事务的功能,再比如 InnoBD 存储引擎对于并发操作实现了行级锁,而 MYISAM 存储引擎是表锁。常见的存储引擎有如下:InnoDB、MYISAM、NDB、Memory 等等,文章以 InnoDB 存储引擎贯穿整个系列,因为 InnoDB 在生产环境中也是使用最多的存储引擎。存储引擎究竟实现了哪些功能呢?这里以 InnoDB 为例:

支持事务。对于日常开发需求中,有些应用场景需要联动多个资源同时处理,要么多个资源同时处理成功,要么只要有一个失败则全体进行回滚操作,即是通过事务的方式将多个处理动作做成一个原子性操作。MVCC 机制。InnoDB采用了行级锁,但是为了进一步降低锁资源的竞争程度,采用 MVCC 机制实现更高效的并发操作。索引机制。不同引擎实现的索引机制各不相同,InnoDB 引擎通过对主键建立索引或者主键结合其他列建立二级索引,加速数据的读取速度。可预测性预读策略。InnoDB 通过可预测性预读策略对磁盘中的数据进行读取,然后在内存中建立 hash 索引,从而进一步提升读取数据的速度。

以上为 InnoDB 引擎的部分常见的特性,通过简单了解之后能够对第三层的引擎能够先有个直观的认识。

总结

本文主要介绍了为什么要学习 MySQL,MySQL 的安装及基本架构组成部分的功能介绍,下篇文章我们来深入了解一下 MySQL 的并发控制和锁机制,敬请期待。

往期精选

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!