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 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高级第一章——架构介绍的更多相关文章
- 《Getting Started with WebRTC》第一章 WebRTC介绍
<Getting Started with WebRTC>第一章 WebRTC介绍 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解: . 什么 ...
- Mariadb第一章:介绍及安装--小白博客
mariadb(第一章) 数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...
- Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- MySQL数据库高级一:架构介绍
两天半就可以 严禁使用 精通 在简历上 了解的越多,越比他人有优势 linux的mysql需要使用中文字符集那么就要修改配置文件 1.mysql的linux版 安装和卸载不说了 2.逻辑架构 总体概况 ...
- 《高性能MySQL》——第一章MySQL的架构与历史
1.可以使用SHOW TABLE STATUS查询表的相关信息. 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择. 3.mysql的infobright引擎 ...
- 高性能mysql笔记 第一章 mysql架构
1.1 mysql逻辑结构 第一层: 负责连接处理,授权认证,安全等事情 第二层:负责mysql的大部分核心功能 ,查询解析,分析,优化,缓存和所有的内置函数,所有跨存储引擎的功能都在这一层实现,, ...
- 第一章-Flink介绍-《Fink原理、实战与性能优化》读书笔记
Flink介绍-<Fink原理.实战与性能优化>读书笔记 1.1 Apache Flink是什么? 在当代数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如 ...
- 第一章 Electron介绍 | Electron in Action(中译)
Github 官方地址 代表作: Visual Studio Code Atom - Code editor. Github开源的代码编辑器,Electron起源地 Visual Studio Cod ...
- MySQL 高级性能优化架构 千万级高并发交易一致性系统基础
一.MySQL体系架构 由图,可以看出MySQL最上层是连接组件.下面服务器是由连接池.管理服务和工具组件.SQL接口.查询解析器.查询优化器.缓存.存储引擎.文件系统组成. 1.连接池 管理.缓冲用 ...
随机推荐
- 对HandlerExecutionChain类的理解分析
HandlerExecutionChain类比较简单,好理解. ==================================================================== ...
- Tomcat的webapps目录下的classes文件夹下缺失编译好的.class文件原因及其解决方法
右键,选择BuildPath: 可以编辑Output folder,指定编译后的文件的存放目录,一般是target/classes目录
- 一.在Linux中for和cat遍历文件内容出现no space
以前使用for var in file方式逐行读取文件内容的时候,都没有出现问题,但是今天使用如下代码,会出现“no space” ,目标数据文件内容为6.8M, # 写入临时文件,第一行不能写入 f ...
- 理解JavaScript闭包(closure)
闭包听了很多次了,可是到底有那些具体的用法还是不清楚,看了<JavaScript高级程序设计>,有点明白了. 1.闭包的定义: 闭包其实就是一个函数,而这个函数有点特别,它能够访问另一个函 ...
- 如何创建.gitignore文件
为什么要创建.gitignore文件? 因为.gitignore可以排除提交时携带的不必要文件,比如Java中的.class文件.同时还可以排除其他不想提交或者提交没这个必要的文件等等. 创建步骤如下 ...
- js 实现商品放大镜效果
知识点,需熟悉下面属性及含义: offsetLeft //获取元素相对左侧的距离 (计算是从最左侧边框外开始) offsetTop //获取元素相对顶部的距离 ...
- Docker创建镜像文件并在容器中运行
1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:l ...
- VS2008 工具栏CMFCToolBar的使用总结(转)
(一)自定义工具栏 自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标:二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似. 1. 自绘工具栏 1)添加Toolbar ...
- ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联
ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联 CCI-400 集合了互联和一致性功能,有 2 个 ACE slave 接口和 3 个 ACE-Li ...
- 关于H5 移动端css 文本超出时省略号 失效的问题
之前写代码的时候遇到一个问题,就是用了下面这段css代码来让文字超出范围隐藏并显示省略号. overflow: hidden; text-overflow: ellipsis; display: -w ...