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

  • 时间:
  • 浏览:2

在MySQL8.0后来的版本中,可能架构的原困,mysql在server层使用统一的frm文件来存储表元数据信息,這個信息也能被不同的存储引擎识别。而实际上innodb五种生活也存储有元数据信息。这给ddl带来了一定的挑战,可能這個架构无法做到ddl的原子化,让人们在线上老是也能都看数据目录下遗留的临时文件,可能同类server层和innodb层列个数不一致同类的错误。甚至很多ddl可能还遗留元数据在innodb内,而丢失了frm,原困无法重建表…..(让人们为了出理 這個疑问,实现了4个多多叫drop table force的功能,去强制做清理….)

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

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