mysql -uroot -p 什么意思_《破壁MySQL》 - MySQL概述

在正式开始总结MySQL之前,先给大家介绍一下“破壁”是什么意思,很久之前我老大曾说过一句 “互联网本来没有什么行业壁垒,但是通过制造一些专业名词,人为的制造了很多行业壁垒出来”,我深以为然。

计算机的本质是0和1,之后通过层层封装、抽象构建出了我们今天看到的互联网世界。

我不否认计算机中难度很高的知识,但是就我目前接触到的知识来说还没有到那种程度,我想这种可以称之为行业壁垒的核心知识占总知识量的0.01%都不到,绝大多数人一生都不会遇到这些问题。

那么剩下的就是这一个一个人为制造的、可以通过花时间掌握的“行业壁垒”。

破壁的意思就是打破这些人为制造的“行业壁垒”,让我们技术人员人人如龙。

破壁系列的第一个专题我选择了互联网的数据存储基石 - MySQL。

这个专题将会总结事务、索引、SQL性能优化、分库分表、主从复制等MySQL核心内容。详情参见下面的思维导图:

MySQL 是什么

MySQL 是一个免费、开源的关系型数据库管理软件,在互联网行业被广泛使用。

MySQL 架构

MySQL中插件式存储引擎架构一直是其非常有特色的亮点,其灵活的处理方式,高度可定制化及完全开放的实现一直被很多高级用户所肯定,下图是官方文档中的一张架构图:连接层:这一层主要是提供授权认证、连接处理等功能。在该层上引入了线程池的概念,为通过安全认证的客户端请求提供线程。

在该层上也可以实现基于SSL的安全链接。

该层会为通过授权认证的客户端请求分配相应的权限。

服务层:这一层实现了很多核心功能,像查询解析、分析、优化、缓存、以及内置函数的实现等,所有跨存储引擎的功能也都在这一层实现,像触发器、存储过程、视图等。

引擎层:存储引擎负责的是MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。MySQL中插件式存储引擎架构的特点,使得我们可以根据自己的实际需要进行存储引擎的选取。

存储层:将数据存储在文件系统上。

常见面试题:MySQL 的查询流程具体是?or 一条 SQL 语句在 MySQL 中如何执行的? 介绍一下 MySQL 的架构客户发起请求。

在连接层进行权限校验、线程分配。

查询缓存(存在缓存则直接返回,不存在则执行后续操作)

分析器(对SQL进行词法分析和语法分析操作)

优化器(主要对执行的sql优化选择最优的执行方案方法)

执行器(执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口)

去引擎层获取数据返回(如果开启查询缓存则会缓存查询结果)

MySQL 存储引擎

MySQL中采用的是插件式存储引擎架构,可以根据需要选择不同的存储引擎。

现在互联网普遍使用的都是 InnoDB 存储引擎,常见的面试题是 InnoDB 存储引擎和 MyISAM 存储的对比,比如像下面这样问:Innodb 和 MyISAM 的区别是什么?

可以从如下的角度进行回答:事务:InnoDB 支持事务,MyISAM 不支持事务

锁:InnoDB 支持行级锁,MyISAM 只支持表级锁

外键:InnoDB 支持外键

InnoDB 支持在线热备份

MyISAM 支持空间索引

小结

MySQL 是现在互联网大小厂主流使用的关系型数据库管理软件,平时工作中也是围绕着它进行开发,所以几乎是面试必考题。

这篇文章是《破壁》系列,第一个专题的第一篇文章。

文章中首先介绍了一下我接下来要写的内容(第一个专题 MySQL),其次是从技术原理和面试题两个角度介绍了 MySQL 架构和 MySQL 存储引擎。

参考资料文章每周六持续更新,可以微信搜一搜「 荒古传说 」抢先阅读。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值