当前位置: 首页 > news >正文

MySQL逻辑架构(一)

MySQL 逻辑系统架构: 可以分为连接器,连接池,Sql接口,解释器,优化库,缓冲区,缓存,引擎
MySQL逻辑结构刻意看成二层架构,
第一层通常叫做SQL Layer 在数据库系统处理底层数据 包括权限判断,SQL解析执行计划优化,query chche的出理等等
第二层就是存储引擎 ,通常叫做 storageEngine Layer 也就是底层数据存取操作的实现部分
有多种存储引擎共同组成
MySQL存储引擎介绍:
MySQL在5.1之前的版本中,存储引擎是需要在MySQL安装的时候就必须和MySQL一起被编译并同时被开始安装的,
在5.1.开始 MySQL AB对其结构体系做了较大的改变,并引入了一个新的概念,“插件式存储引擎体系结构”,让存储引擎层和SQL layer 各自更为独立,耦合更小,甚至可以做大在线加载新的存储引擎,而不影响MySQL的正常运行
MySQL的插件式存储引擎只要包括 MyISAM,Innodb,NDB,Cluster,Maria,Falcon,Memory,Archive等,其中MyISAM,Innodb最为应用广泛。
MyISAM存储引擎介绍
1.MySQL5.1.之前默认存储引擎
2 MyIsam存储引擎的表在数据库中,每一表都被存放在 三个以表名命名的物理文件
存放表结构定义信息的.frm文件
存放表的数据.MYD
存放表的索引.MYI(不管这个表有多少索引,都是存放在同一个.myi文件中)
3 MyISAM支持以下三种类型的索引:
B-Tree索引 就是所有的索引节点都按照balance tree得数据结构来存储,所有的索引数据节点都在叶节点上
R-Tree索引 索引的存储方式和B-Tree有些区别,主要设计用于为存储空间和多维数据的字段做索引
Full_text 全文索引 他的存储结构也是B-Tree ,主要是为了解决在我们需要用LIKE查询的低效问题
4 不支持事务
5 只有表锁
6 如下情况会造成表损坏:
mysqld正在写入该表,被KILL掉
主机宕机
磁盘硬件故障
MyIsam存储引擎的bug
Innodb 存储引擎介绍:
1 对事务的支持
2 锁定机制改变: 实现了行锁
3 实现外键
4 Innodb 存储引擎 也有.frm文件,但是表数据和索引数据是存放在一起的,每个表单独放还是所有表存放由用户决定。
MySQL自带工具使用介绍
MySQL命令 语法格式: MySQL [options] [database]
1 mysql -e (--execute=name)这个参数可以不通过MySQL登录MySQLserver而执行命令 在写一些基本脚本非常有用
列子: MySQL -u root -p123456 -e "show status like '%binlog_cache%'"
2 MySQL -E (--vertical) MySQL -E -u root -p 登录后 所有查询结果都将以纵列显示
3 MySQL -H 或 MySQL -X 启用后select出来的的结果都会按照HTML于xml的格式输出
4 --prompt=name 主要功能是定自己的MySQL提示符的显示内容 可以通过配置显示登入的主机地址,用户名,当前时间,当前数据库
PS: 强烈推荐提示符定义 "\u@\h:\d、、r:\m:\s>"
5 --tee=name 用来告诉MySQL 将所有的输入和输出都记录在文件内容 可以写在my.cnf中
[client]
tee = /tmp/client_mysql.log

转载于:https://blog.51cto.com/13545261/2137339

相关文章:

  • 深度学习中的信息论知识详解
  • 老司机 iOS 周报 #26 | 2018-07-09
  • OSChina 周一乱弹 —— 这狗像不像我女朋友
  • ListView点击事件失效(item里面有button按钮控件)解决方法
  • Mysql用存储过程和事件每月定时创建一张数据库表
  • 深度理解链式前向星
  • python内置函数每日一学 -- any()
  • 如何排查 Inodes 使用太多的问题
  • VMware三个版本workstation、server、esxi的区别
  • 对软件测试的认识误区
  • 看不见的战斗——阿里云护航世界杯直播容灾实践
  • Docker实战-编写Dockerfile
  • fabric8 API操作ConfigMap
  • iview Table组件渲染操作按钮, render 渲染icon图标更改方法
  • Day4Linux命令规则
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [译]CSS 居中(Center)方法大合集
  • 2017 前端面试准备 - 收藏集 - 掘金
  • CEF与代理
  • flutter的key在widget list的作用以及必要性
  • java取消线程实例
  • Laravel 实践之路: 数据库迁移与数据填充
  • Laravel 中的一个后期静态绑定
  • Selenium实战教程系列(二)---元素定位
  • Vue2.x学习三:事件处理生命周期钩子
  • Web Storage相关
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 数据可视化之下发图实践
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #微信小程序(布局、渲染层基础知识)
  • (1)(1.13) SiK无线电高级配置(五)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Forward) Music Player: From UI Proposal to Code
  • (pojstep1.3.1)1017(构造法模拟)
  • (Python第六天)文件处理
  • (二)斐波那契Fabonacci函数
  • (南京观海微电子)——COF介绍
  • (十五)使用Nexus创建Maven私服
  • (图)IntelliTrace Tools 跟踪云端程序
  • ***测试-HTTP方法
  • .describe() python_Python-Win32com-Excel
  • .dwp和.webpart的区别
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .so文件(linux系统)
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [145] 二叉树的后序遍历 js
  • [1525]字符统计2 (哈希)SDUT
  • [Android] Amazon 的 android 音视频开发文档
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Angular] 笔记 18:Angular Router
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [codevs] 1029 遍历问题