一、简介

  是一个经典的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 Files\MySQL\MySQL Server 5.5\data (示例目录)

    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.各存储引擎的区别:

  

  主要区别:

  

MySQL高级第一章——架构介绍的更多相关文章

  1. 《Getting Started with WebRTC》第一章 WebRTC介绍

    <Getting Started with WebRTC>第一章 WebRTC介绍 ​ 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解:   .  什么 ...

  2. Mariadb第一章:介绍及安装--小白博客

    mariadb(第一章)   数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...

  3. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  4. MySQL数据库高级一:架构介绍

    两天半就可以 严禁使用 精通 在简历上 了解的越多,越比他人有优势 linux的mysql需要使用中文字符集那么就要修改配置文件 1.mysql的linux版 安装和卸载不说了 2.逻辑架构 总体概况 ...

  5. 《高性能MySQL》——第一章MySQL的架构与历史

    1.可以使用SHOW TABLE STATUS查询表的相关信息. 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择. 3.mysql的infobright引擎 ...

  6. 高性能mysql笔记 第一章 mysql架构

    1.1  mysql逻辑结构 第一层: 负责连接处理,授权认证,安全等事情 第二层:负责mysql的大部分核心功能 ,查询解析,分析,优化,缓存和所有的内置函数,所有跨存储引擎的功能都在这一层实现,, ...

  7. 第一章-Flink介绍-《Fink原理、实战与性能优化》读书笔记

    Flink介绍-<Fink原理.实战与性能优化>读书笔记 1.1 Apache Flink是什么? 在当代数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如 ...

  8. 第一章 Electron介绍 | Electron in Action(中译)

    Github 官方地址 代表作: Visual Studio Code Atom - Code editor. Github开源的代码编辑器,Electron起源地 Visual Studio Cod ...

  9. MySQL 高级性能优化架构 千万级高并发交易一致性系统基础

    一.MySQL体系架构 由图,可以看出MySQL最上层是连接组件.下面服务器是由连接池.管理服务和工具组件.SQL接口.查询解析器.查询优化器.缓存.存储引擎.文件系统组成. 1.连接池 管理.缓冲用 ...

随机推荐

  1. web服务器、app(应用)服务器、DB后端性能瓶颈和分析

    性能测试day07_性能瓶颈和分析 https://www.cnblogs.com/leixiaobai/p/9463748.html 其实如果之前都做的很到位的话,那么再加上APM工具(dynaTr ...

  2. 记一种c++字符串格式化方法

    std::string str_fmt(const char * _Format, ...) { std::string _str; va_list marker = NULL; va_start(m ...

  3. hdu 3068 最长回文_Manacher模板

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/neng18/article/details/24269469 pid=3068" rel= ...

  4. 系统监控zabbix

    zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统 ...

  5. [USACO11DEC]Umbrellas for Cows

    嘟嘟嘟 我dp真是太弱了,这么简单dp都不会. 令dp[i]表示前 i 头牛头被遮住了的最低成本.则dp[i] = min{dp[i], dp[j - 1] + c[a[i] - a[j] + 1]} ...

  6. Codeforces Round #527 (Div. 3) D2. Great Vova Wall (Version 2) 【思维】

    传送门:http://codeforces.com/contest/1092/problem/D2 D2. Great Vova Wall (Version 2) time limit per tes ...

  7. matlab中boxplot字体大小设置

    网上找到的:set(findobj(gca,'Type','text'),'FontSize',18) boxplot() uses the default axes labeling for the ...

  8. 面试准备——(二)专业知识(1)Linux

    面试的问题: 腾讯: 1. 查看进程的命令 美团: 1. 常用的命令——美团/滴滴 2. 如何在性能测试的时候查看进程 3. kill -9/-15区别 滴滴: 1.如何找到一个特定文件 2. 如何替 ...

  9. $Self~Problem~C~:~Samsara$

    题目背景: 在这个\(Canman\)界的人都知道,世界上最伟大的修道者 -- \(Felling\),曾经结束了\(Canman\)的无垠盏之灾,守护了\(Canman\)的和平.在无垠盏之灾的最后 ...

  10. java之静态方法,静态变量

    在自动化测试中,经常会用到静态方法和静态变量.那么什么是静态方法和静态变量呢?以及在什么情况下使用呢?下面来说一说 静态方法和静态变量是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象 ...