深入解读MySQL8.0 新特性 :Crash Safe DDL

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

深入解读MySQL8.0 新特性 :Crash Safe DDL

zhaiwx_yinfeng 2019-01-05 14:31:11 浏览1889
展开阅读全文

前言

在MySQL8.0之前的版本中,由于架构的原因,mysql在server层使用统一的frm文件来存储表元数据信息,这个信息能够被不同的存储引擎识别。而实际上innodb本身也存储有元数据信息。这给ddl带来了一定的挑战,因为这种架构无法做到ddl的原子化,我们在线上经常能够看到数据目录下遗留的临时文件,或者类似server层和innodb层列个数不一致之类的错误。甚至某些ddl可能还遗留元数据在innodb内,而丢失了frm,导致无法重建表…..(我们为了解决这个问题,实现了一个叫drop table force的功能,去强制做清理….)

(以下所有的讨论都假定使用InnoDB存储引擎)

到了8.0版本,我们知道所有的元数据已经统一用InnoDB来进行管理,这就给实现原子ddl带来了可能,几乎所有的对innodb表,存储过

网友评论

登录后评论
0/500
评论
zhaiwx_yinfeng
+ 关注
所属云栖号: 阿里云数据库ApsaraDB