MySQL在5.x系列提供了Blackhole引擎–“黑洞”.  其作用正如其名字一样:任何写入到此引擎的数据均会被丢弃掉, 不做实际存储;Select语句的内容永远是空。 和Linux中的 /dev/null 文件完成的作用完全一致。

那么, 一个不能存储数据的引擎有什么用呢?

Blackhole虽然不存储数据,但是MySQL还是会正常的记录下Binlog,而且这些Binlog还会被正常的同步到Slave上,可以在Slave上对数据进行后续的处理。 这样对于在Master上只需要Binlog而不需要数据的场合下,balckhole就有用了。

BlackHole 还可以用在以下场景

  1. 验证dump file语法的正确性
  2. 以使用blackhole引擎来检测binlog功能所需要的额外负载
  3. 由于blackhole性能损耗极小,可以用来检测除了存储引擎这个功能点之外的其他MySQL功能点的性能。
Logo

更多推荐