mysql架构篇之引擎与事务介绍
什么是引擎?
MySQL服务软件自带的功能程序,处理表的处理器
不同的存储引擎有不同的功能和数据存储方式
Mysql5.1以下--------->mysam
Mysql5.5以上----------->innoDB
列出可用的存储引擎类型:
show engines;
修改表存储引擎
未指定时,使用默认存储引擎
alter table 表名 engine=存储引擎名;
修改服务存储引擎
修改/etc/my.cnf配置文件
[mysql] default-storge-engine=存储引擎 重启myslq服务 systemctl restart mysqld
Myisal存储引擎的特点:
主要特点:
--支持表级锁
--不支持事物、事物回滚、外键
表文件:
.frm //表结构
.MYI //索引
.MYD //数据
innoDB引擎
主要特点:
--支持行级锁定
--支持事物、事物回滚、外键
表文件
.frm
.idb
事物日志
--ibdata1
--ib_logfile0
--ib_logfile1
锁表机制
锁粒度
--表级锁,对整张表加锁
--行级锁:仅对被访问的行分别加锁
锁类型:
--读锁:支持并发读
--写锁:是独占锁,上锁期间其他线程不能读表或写表
查看当前锁状态
show status like "table_lock%";
事物特性:
1:原子性
事物的整个操作是一个征途,不可分割
要么全部成功,要么全部数百
2:一致性
事务操作的前后,表中的记录没有变化
3:隔离性
事物操作是互相隔离不受影响的
4:持久性
数据一旦提交,不可改变,永久改变表数据
事物特性:
相关命令
mysql> show variables like "autocommit"; //查看提交状态 mysql> set autocommit=off; //关闭自动提交 mysql> rollback; //数据回滚 mysql> commit; //提交数据