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

猜你喜欢

转载自blog.51cto.com/13545261/2137339
今日推荐