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存储引擎相关推荐

  1. mysql blackhole引擎_【原创】MySQL blackhole 存储引擎简记

    The BLACKHOLE storage engine acts as a"black hole"that accepts data but throws it away and ...

  2. mysql blackhole引擎_【原创】MySQL blackhole 存储引擎简记-阿里云开发者社区

    The BLACKHOLE storage engine acts as a"black hole"that accepts data but throws it away and ...

  3. MySQL BlackHole 存储引擎使用

    BlackHole "黑洞",高大上的样子,但它 No transaction,no xa,no savepoint,这些都没有阻挡他的应用:show engines 中会显示 b ...

  4. mysql blackhole缺点_MySQL BLACKHOLE存储引擎_编程学问网

    15.10.BLACKHOLE存储引擎 BLACKHOLE存储引擎就像"黑洞"一样,它接收数据但丢弃它而不是存储它.取回总是返回空集: mysql> CREATE TABLE ...

  5. mysql的存储引擎种类,mysql 存储引擎,基本数据类型

    存储引擎 日常生活中文件格式有很多种,并且针对不同的文件格式会有对应不同存储方式和处理机制(txt,pdf, word, mp4...) 针对不同的数据应该有对应的不同的处理机制来存储 存储引擎就是不 ...

  6. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

  7. mysql之存储引擎和文件配置

    (查看系统服务,在运行里输入services.msc) 补充:将mysql做成系统服务:mysqld --install 取消:mysqld --romove 在服务中可以直接鼠标操作mysql服务的 ...

  8. mysql的存储引擎详解_MySQL常见存储引擎详解

    通过执行show engines命令查看MySQL中支持哪些存储引擎 MySQL存储引擎属性对比 设置表的存储引擎的方法 在my.cnf配置文件中设置default-storage-engine参数表 ...

  9. MySQL如何修改表的储存方式_修改mysql默认存储引擎的方法

    修改mysql默认存储引擎的方法,供大家学习参考. 先来了解一下mysql存储引擎: mysql服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及my ...

  10. 【宋红康 MySQL数据库 】【高级篇】【07】MySQL的存储引擎

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][07]MySQL的存储引擎 存储引擎 查看存储引擎 设置系统默认的存储引擎 设置表的存储引擎 引擎介绍 In ...

最新文章

  1. 突破电信3G宽带对网页浏览的上网限制
  2. Camera+销量突破200万 创始人分享成功经验
  3. 2017-5-17 分析文本
  4. 网络编程(part8)--传输层服务之TCP和UDP
  5. 给windows 98 客户虚拟机安装VMWare tools
  6. Oracle数据库游标使用大全
  7. php 扩展官,常用的php扩展 - 采集侠官方博客 - 织梦(dedecms)模块插件原创基地
  8. 为啥春节抢红包总不是运气王?看完微信抢红包算法你就明白了
  9. 安装linux取消硬盘密码设置,linux下硬盘加密方法
  10. html 百分比饼状图,highcharts饼状图百分比显示的数据和写的不同
  11. PyQt5 基本语法(一):基类控件
  12. 用JS去掉IE窗口的标题栏,工具栏,地址栏
  13. SIGCOMM‘2021 Congestion Detection in Lossless Networks 阅读笔记
  14. 【算法】五大常用算法最全面总结
  15. android快速填表,Android 11将自动填表功能整合到键盘输入建议中
  16. 恩布企业即时通讯软件,协同办公平台发布V1.23版本
  17. 串口相关的文件操作和linux
  18. 通过注册表配置弹出窗口阻止程序
  19. java同步与死锁_Java入门——同步与死锁
  20. 篇章级的事件抽取——阅读笔记

热门文章

  1. 剑指Offer_62_二叉搜索树的第k个结点
  2. 如何在集合中巧用Where来查找相关元素
  3. poj 1185(状态压缩DP)
  4. Spring boot中的Http压缩配置
  5. amp;#9733;一名“标题党”自我修炼的10…
  6. 判断两根线段是否相交
  7. 《你不知道的JavaScript》整理(二)——this
  8. oracle rac 在完成安装错误。
  9. eclipse进度条从后台还原到前台
  10. C#实现SQL SERVER2008聚合函数