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.连接池 管理.缓冲用 ...
随机推荐
- July 14th 2017 Week 28th Friday
A life without a dress rehearsal, every day is broadcast live. 人生没有彩排,每天都是现场直播. Every day when I pre ...
- ZT C,C++表达式求值顺序 裘老的解释。 [问题点数:300分]
http://bbs.csdn.net/topics/370153775 [置顶] [推荐] C,C++表达式求值顺序 裘老的解释. [问题点数:300分] 最近这问题有从日经变时经的趋势,这里贴出裘 ...
- 中间人攻击之劫持登录会话(cookies)
关于中间人攻击 中间人攻击(Man-in-the-MiddleAttack,简称"MITM攻击")是一种"间接"的入侵攻击,这种攻击模式是通过各种技术手段将受入 ...
- NET对象的跨应用程序域
NET对象的跨应用程序域 转眼就到了元宵节,匆匆忙忙的脚步是我们在为生活奋斗的写照,新的一年,我们应该努力让自己有不一样的生活和追求.生命不息,奋斗不止.在上篇博文中主要介绍了.NET的AppDoma ...
- NPM cache相关
今天下午把package.lock.json用别人的替换了,然后编译一堆报错,这个问题弄了一下午. 总结一下经验: 1.关于npm cache NPM会把所有下载的包保存,放在用户文件夹下面,在我的w ...
- 如何遍历一个JSON对象的属性值???
当遇到一个JSON格式的对象时,不知道它有多少个属性,也不知道有什么属性,该如何遍历它的属性及其属性值呢??? 还是使用Java语言还是很像的,使用for语句. var obj = data[i]; ...
- Python小技巧:使用*解包和itertools.product()求笛卡尔积
[问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b'] list2 = ['c', 'd'] ...
- linux c 获取当前时间 毫秒级的 unix网络编程
#include <time.h> #inlcude <sys/time.h> char *gf_time(void) /* get the time */{ struct t ...
- localtunnel内网服务器暴露至公网
摘自@scarlex 1.安装 npm install -g localtunnel 2.运行 lt --port 8080 (your url is: http://xxxx.localtun ...
- Python开发工具之Sublime Text 3基于文件创建项目
说明: 本地windows系统 本地已安装Sublime Text 3; 本地已创建python项目文件,如test,并在该文件夹下创建了虚拟环境venv(test/venv). 1.创建项目 依次鼠 ...