MySql - InnoDB数据库引擎

10 篇文章 0 订阅

MySql数据库的结构

Mysql采用单进程多线程系统结构,核心存储引擎使用插件结构,将对数据库表的存储、操作和管理交给数据库引擎完成。核心组件如下图:
Mysql数据库结构

  • Connectors:提供client及各种API方式便于编程;
  • Connection Pool:连接池,管理各种连接;
  • Sql Interface:
  • Parser:
  • Optimlzer:查询优化器,优化各种Sql查询,提升查询速度;
  • Cache & Buffers:基于内存的缓存,热点数据缓存及异步的IO刷新;
  • Manager Services & Utilities:管理器及工具,提供备份等功能;
  • Pluggable storage Engines:插件式的存储引擎,这是核心,由于存储引擎的不同,应用场景也不一样,带来了MySql的多样性;
  • File System:标准的MySql文件格式和引擎的物理文件;
  • Files & Logs:标准的Mysql文件及日志,各引擎也可以有自己的日志;

插件引擎

存储引擎的插件化是Mysql的特色和核心,这为Mysql提供了多样性和多种场景的适应性;

MySql在5.6版本前的默认存储引擎是MyISAM(ISAM是一种算法),但是因为MyISAM不支持事务等原因,InnoDB这个第三方存储引擎被越来越多的人接受后,MySql官方将InnoDB收购后将InnoDB作为默认存储引擎;

存储引擎基于表,而不是数据库!也就是建表的时候可以通过engine指定存储引擎

通过这一特性,我们可以利用各引擎特色及场景,为不同表指定不同引擎,比如我们有一张记录用户的操作日志,那么这个表基本上不需要事务,物理文件的高压缩比收益更大。建表的时候就可以指定engine 为MyISAM。

各引擎比较

MySql中存储引擎各有特点和应用场景:

  • MyISAM:MySql官方推出的默认存储引擎,不支持事务,仅支持表锁,不支持行锁,支持全文索引(中、日、韩文不可以),主要面向OLAP应用,仅cache索引文件,由MYD和MYI文件组成;
  • InnoDB:现在普遍采用的存储引擎,支持事务,支持行锁,让MySql成为企业级应用的功臣;
  • NDB:集群引擎,类似Oracle的RAC,Share nothing架构(对应Share everything),数据在内存中,主键查找非常快,高可用,高性能,可用添加Data Node,JOIN操作在Mysql层面完成,不是在引擎层面,所以Join的开销很大;
  • Memory:在内存中的引擎,并发性较差;

Mysql的连接方式

- 基于TcpIp的连接方式:mysql -h 127.0.0.1 -u root -p
- 基于Unix套接字:mysql -u root -S /tmp/mysql.socket
- named-pipe方式。

查询Mysql的套接字文件位置:
SHOW VARIABLES LIKE ‘socket’ ;

Mysql的权限

Mysql使用一个User表存储每个用户的权限及用户可以通过哪个(哪段)IP来连接访问服务器。

相关命令

查看引擎:SHOW ENGINE \G;
查询变量:SHOW VARIABLES LIKE ‘socket’ ;
连接:mysql -h 127.0.0.1 -u root -p
套接字方式:mysql -u root -S '/tmp/mysql.socket';

启动:mysql | mysql_safe
查看配置文件位置:mysql --help | grep my.cnf
排至文件的查找顺序:/etc/my.cnf -> /etc/mysql/my.cnf -> /usr/local/mysql/etc/my.cnf

数据库文件存放位置:SHOW variables LIKE 'datadir' \G;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值