MySQL高级第一章——架构介绍

一、简介

  是一个经典的RDBMS目前归属于Oracle

  高级MySQL包含的内容:

    MySQL内核  SQL优化工程师  MySQL服务器的优化  各种参数常量设定  查询语句优化

    主从复制  软硬件升级  容灾备份  SQL编程

二、安装

  已抽取为随笔,参见http://www.cnblogs.com/jiangbei/p/7247814.html

  一般而言,生产上下载的是GA(稳定发布版)

三、MySQL的配置文件

  大致介绍,混个眼熟,之后会进一步进行讲解

   1.在哪配置

  

  2.二进制日志——log-bin

    主要是用于:主从复制

   3.错误日志——log-error

    默认是关闭,记录严重的错误信息以及启动和关闭的信息等

  4.查询日志——log

    默认也是关闭(均是为了MySQL自身的简洁高效),用于记录查询的sql语句(后期慢日志分析等)

 5.数据文件

   在哪

    Win——F:Program FilesMySQLMySQL Server 5.5data (示例目录)

    Linux——默认 /var/lib/mysql

   frm文件

    存放表结构(例如可以用于直接恢复表结构重新开始)

    

   myd文件

    存放表数据

   myi文件

    存放表索引

    

  也就是说,frm类似于图书馆的架子(表结构),而myd就是架子上的书(表数据),myi就是图书馆书目检索目录(表索引)

四、MySQL逻辑架构

  依据之前的开发经验,例如经典的MVC分层架构,controller调service,service调dao,dao查数据库再返回,类似的流程架构在MySQL内部也存在

  总体架构图(官方图)

  

    从上往下看:

       第一层为连接客户端(由我们熟悉的JDBC即可推导出)

       整个下面为服务层(server)

        从左往右,从上往下依次为:   工具(备份,容灾恢复等)  连接层(线程/连接)  SQL接口(存储过程,视图,触发器等)

                      分析器(一个漏斗,SQL都是从from处开始解析;进行重组过滤,写的注释等被过滤)

                      优化器(架构中自带的优化器,例如索引失效的情况,可能是优化器问题)

                      缓存和缓冲

                      可插拔组件式存储引擎(主要是前两种 MyISAM与InnoDB)

                      文件存储算法等

      总的架构分为4层:连接层——服务层——引擎层——存储层

    更多详细的架构介绍,请参见:http://www.cnblogs.com/andy6/p/5789254.html

        优化介绍,请参见:http://blog.csdn.net/fuzhongmin05/article/details/70904190

五、MySQL存储引擎

  1.各存储引擎的区别:

  

  主要区别:

  

原文地址:https://www.cnblogs.com/jiangbei/p/7407289.html