BlackHole :黑洞引擎,写入的任何数据都会消失,用于记录binlog做复制的中继存储!

如何安装:

在安装MySQL时使用带有--with-blackhole-storage-engine选项的 configure 命令。BLACKHOLE存储引擎在MySQ供应的服务器二进制版里可以找到:

通过查看SHOW ENGINES或SHOW VARIABLES LIKE 'have%'的输出来查看但前的mysql版本是否支持这个引擎。

mysql> SHOW ENGINES;

+--------------------+

| Engine             |

+--------------------+

| CSV                      |

| MRG_MYISAM    |

| MEMORY             |

| BLACKHOLE      |

| MyISAM                |

| FEDERATED      |

| ARCHIVE             |

| InnoDB                 |

| PERFORMANCE_SCHEMA |

+--------------------+

9 rows in set (0.01 sec)

如何使用:

创建一个BLACKHOLE表的时候,服务器在数据库目录创建一个表定义文件。文件用表的名字开头,并且有一个.frm扩展名。没有其它文件关联到这个表格。

mysql>

mysql> CREATE TABLE test(i INT, val CHAR(10)) ENGINE = BLACKHOLE;

Query OK, 0 rows affected (0.02 sec)

mysql> insert into test values(1,'a') ;

Query OK, 1 row affected (0.03 sec)

mysql> insert into test values(2,'b') ;

Query OK, 1 row affected (0.01 sec)

mysql> insert into test values(3,'c') ;

Query OK, 1 row affected (0.00 sec)

mysql> commit;

Query OK, 0 rows affected (0.00 sec)

mysql> select * from test;

Empty set (0.00 sec)

mysql> exit

Bye

[root@rac3 ~]# cd /opt/mysql/data/test/

[root@rac3 test]# ll

总计 48

-rw-rw---- 1 mysql mysql 8632 12-10 15:22 sbtest.frm

-rw-rw---- 1 mysql mysql 8632 12-19 13:38 t10.frm

-rw-rw---- 1 mysql mysql 8632 12-16 17:01 t1.frm

-rw-rw---- 1 mysql mysql 8582 12-20 17:45 test.frm

[root@rac3 test]#

从上面的例子中可以看出使用BLACKHOLE存储引擎的表不存储任何数据,但如果mysql启用了二进制日志,SQL语句被写入日志(并被复制到从服务器)。这样使用BLACKHOLE存储引擎的mysqld可以作为主从复制中的中继重复器或在其上面添加过滤器机制。例如,假设你的应用需要从服务器侧的过滤规则,但传输所有二进制日志数据到从服务器会导致较大的网络流量。在这种情况下,在主服务器主机上建立一个伪从服务器进程。

主服务器的操作写入二进制日志,伪mysqld进程作为从服务器,在伪mysqld进程上配置replicate-do和replicate-ignore规则,并且写一个新的,被过滤的二进制日志 。这个已过滤日志被提供给其他真正的从服务器。因为伪进程不存储任何数据,只消耗很小的额外的mysqld进程资源。这个类型的建立可以用额外复制从服务器来重复。

当然如果配置一主多从的话,多个从服务器会在主服务器上分别开启自己相对应的线程,执行binlog dump命令而且多个此类进程并不是共享的。为了避免因多个从服务器同时请求同样的事件而导致主机资源耗尽,可以单独建立一个伪的从服务器或者叫分发服务器:

其它可能对BLACKHOLE存储引擎的使用包括:

1 转储文件语法的验证。

2 来自二进制日志记录的开销测量,通过比较允许二进制日志功能的BLACKHOLE的性能与禁止二进制日志功能的BLACKHOLE的性能。

3  因为BLACKHOLE本质上是一个“no-op” 存储引擎,它可能被用来查找与存储引擎自身不相关的性能瓶颈。

mysql blackhole缺点_【MySql】 BlackHole :黑洞引擎-阿里云开发者社区相关推荐

  1. mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区

    关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...

  2. 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...

    数据传输(Data Transmission) 支持以数据库为核心的结构化存储产品之间的数据传输. 它是一种集数据迁移.数据订阅及数据实时同步于一体的数据传输服务.数据传输致力于在公有云.混合云场景下 ...

  3. mysql 分布式 安装_mysql分布式集群安装-阿里云开发者社区

    概述 MySQL Cluster旨在提供具有高可用性和低延迟的MySQL兼容数据库. MySQL Cluster技术通过NDB(网络数据库)和NDBCLUSTER存储引擎实现,并为MySQL数据库系统 ...

  4. 阿里 mysql cluster_MySQL Cluster集群安装及使用-阿里云开发者社区

    MySQL Cluster MySQL集群 Linux最新版本7.3.2 文件 大小 md5 mysqlcluster-7.3.2-linux-x32.tar.gz 431.0MB 03093541b ...

  5. 阿里云mysql目录_mysql数据库目录存放位置更改-阿里云开发者社区

    mysql Oracle官方下载 类型特多 看起来很让人头痛  我们选择 Download MySQL Community Server 在这个下载网站 选择平台是ORACL& RED HAT ...

  6. mysql5.7 备份恢复_RDS for MySQL 5.7 备份恢复为本地实例-阿里云开发者社区

    RDS for MySQL 5.7 备份恢复为本地实例 近期同学咨询反馈 RDS for MySQL 5.7 备份恢复本地实例的问题比较多,提供一个恢复样例. 1. 本地环境 # 项目 说明 1 OS ...

  7. mysql5.5索引如何定义_MySQL5.5索引数在InnoDB引擎内与索引数在mysql中定义的数量是不一致问题-阿里云开发者社区...

    在查看MySQL错误日志的时候发现这样的错误,如下: 160322 21:42:59 [ERROR] Table baby/baby_order contains 12 indexes inside ...

  8. mysql重新编译_重新编译mysqld_exporter0.10-阿里云开发者社区

    截止本人实验时候,github上面提供的最新版的普罗米修斯 mysqld_exporter 版本为 0.10.0 , 添加了pt-heartbeat的结合,同时也加入了对mariadb采集的支持(增加 ...

  9. mysql 接口访问_MySQL的数据库访问接口-阿里云开发者社区

    大部分流行的关系数据库产品采用的都是 C/S 架构.因此,应用程序要访问数据库的数据就必须和各种数据库客户端(也称为数据库访问接口)打交道.可以这么认为,每一种流行的编程语言都需要一个对应的数据库访问 ...

最新文章

  1. css浮动+应用(瀑布流效果的实现)
  2. Python Flask框架常用组件介绍
  3. angularJS前台传list数组,后台springMVC接收数组
  4. wget安装Jenkins
  5. 聊一聊Flutter Engine线程管理与Dart Isolate机制
  6. Oracle 20c 新特性:自动的区域图 - Automatic Zone Maps
  7. brew安装php-ffmpeg,mac 系统编译安装ffmpeg
  8. Map接口与学习系列(二)---LinkedHashMap
  9. 公钥与私钥 数字签名是什么?
  10. 安防监控芯片市场高清化趋势愈显 成行业共识
  11. c语言中形参和实参的区别
  12. 腾讯云学生服务器分享
  13. matlab中的小于等于,ps中如何画出小于等于符号
  14. Cocoa动画编程指南
  15. 建立“顾客购买图书”的活动图(使用泳道)
  16. 艾克---BBB时间设置
  17. java实现手写签名_手写签字,保存笔迹到图片
  18. 小程序开发-准备工作
  19. 阿伟的学习计划5.28-6.29
  20. nsis安装包(四)_软件环境

热门文章

  1. JAVA 通过value获取Map中key的三种方法
  2. 【NOJ1042】【算法实验三】电子老鼠闯迷宫
  3. python 读取图像发生自动旋转的原因
  4. FlyAI小课堂:【文本分类-中文】textRNN
  5. 阿里云购买esc云盘后,如何进行分区、挂载,分区格式化数据盘(Linux),云盘如何挂载
  6. .NET处理CSV文件 插件CSVReader
  7. 前端面试必问(后台管理系统的权限控制与管理)
  8. google hacker语句
  9. 火车票订票系统的几点优化思考
  10. MATLAB | 一起来绘制有雪花飘落的圣诞树叭