MySQL逻辑架构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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: 强烈推荐提示符定义 "[email protected]h:d、、r:m:s>"
5 --tee=name 用来告诉MySQL 将所有的输入和输出都记录在文件内容 可以写在my.cnf中
[client]
tee = /tmp/client_mysql.log

以上是关于MySQL逻辑架构的主要内容,如果未能解决你的问题,请参考以下文章

Mysql逻辑体系架构

5分钟学会mysql的逻辑架构原理

Mysql的逻辑架构

mysql逻辑架构+优化查询+并发控制

mysql逻辑架构+优化查询+并发控制

mysql逻辑架构+优化查询+并发控制