zoukankan      html  css  js  c++  java
  • 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.各存储引擎的区别:

      

      主要区别:

      

  • 相关阅读:
    Marker
    Log4j 2
    Spring 中 CharacterEncodingFilter 失效?
    Java 泛型通配符
    待修 Bug
    Java Class SecurityManager
    bzoj 5210: 最大连通子块和【动态dp+树剖+线段树+堆】
    洛谷 P4719 【模板】动态dp【动态dp】
    bzoj 2555: SubString【后缀自动机+LCT】
    洛谷 P4125 [WC2012]记忆中的水杉树【扫描线+set+线段树】
  • 原文地址:https://www.cnblogs.com/jiangbei/p/7407289.html
Copyright © 2011-2022 走看看