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

 1 mysql> show engines;
2 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
3 | Engine | Support | Comment | Transactions | XA | Savepoints |
4 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
5 | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
6 | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
7 | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
8 | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
9 | MyISAM | YES | MyISAM storage engine | NO | NO | NO |
10 | CSV | YES | CSV storage engine | NO | NO | NO |
11 | ARCHIVE | YES | Archive storage engine | NO | NO | NO |
12 | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
13 | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
14 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
15 9 rows in set (0.00 sec)

如何使用?
创建一表时,指定引擎。(select * from emp;查看时没有任何数据)

mysql> create database test;
Query OK, 1 row affected (0.00 sec) mysql> use test;
Database changed
mysql> create table emp (empno numeric(4) not null,ename varchar(10),job varchar(9),mgr numeric(4),hiredate datetime,sal numeric(7, 2),comm numeric(7, 2),deptno numeric(2)) ENGINE = BLACKHOLE;
Query OK, 0 rows affected (0.01 sec) mysql> insert into emp values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);
Query OK, 1 row affected (0.00 sec) mysql> select * from emp;
Empty set (0.00 sec)

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

[root@jz_130 ~]# cd /var/lib/mysql/test/
[root@jz_130 test]# ll
total 16
-rw-r-----. 1 mysql mysql 65 Dec 3 23:18 db.opt
-rw-r-----. 1 mysql mysql 8780 Dec 3 23:19 emp.frm

从上面的例子中可以看出使用BLACKHOLE存储引擎的表不存储任何数据,但如果mysql启用了二进制日志,SQL语句被写入日志(并被复制到从服务器)。
主从同步时,在MASTER和SLAVE中间充当PROXY,缓解MASTER的压力,减少网络带宽。
在普通的MASTER与SLAVE 中间 充当缓解机器,用来缓冲MASTER机器的压力,让SLAVE连接到缓解机器,这样减少MASTER 到 SLAVE之间的网络传输。从而减小网络的带宽以及主机的压力。
所有的处理都有中间代理机器来完成。

MySql-BlackHole:黑洞引擎的更多相关文章

  1. MySQL的存储引擎

    MySQL的一个重要特性就是支持插件式存储引擎.其存储引擎接口定义良好,有兴趣的开发者可以通过阅读文档编写自己的存储引擎. 接下来简单介绍一下MySQL的常见存储引擎: 一.MyISAM MySQL ...

  2. 【转】MySQL 数据库存储引擎

    原文地址:http://blog.jobbole.com/94385/ 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入 ...

  3. MySQL 数据库存储引擎

    简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念.这就决定了MySQl数据库中的表可以使用不同的存储方式 ...

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

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

  5. mysql 使用存储引擎

    三 使用存储引擎 方法1:建表时指定引擎 指定innodb,不写默认也是innodb use 数据库先 create table innodb_t1(id int,name char)engine=i ...

  6. MySQL数据库----存储引擎

    什么是存储引擎? 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操 ...

  7. MySQL之存储引擎(Day39)

    一 什么是存储引擎 mysql中建立的库=====>文件夹 库中建立的表=====>文件 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图 ...

  8. MySQL:BlackHole

    MySQL:BlackHole 顾名思义BlackHole就是黑洞,只有写入没有输出.现在就来实验一下吧 首先查看一下MySQL支持的存储引擎 mysql> show engines;+---- ...

  9. Mysql常见的引擎

    常用的引擎是:Innodb和Myiasm这两种引擎: innodb: 提供了对事务的ACID操作,还提供了行级锁和外键约束,,他的优势就是处理大量数据,在msql启动的时候,首先会建立一个缓存池,主要 ...

  10. MySQL三:存储引擎

    阅读目录 一 什么是存储引擎 二 mysql支持的存储引擎 三 使用存储引擎 一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的 ...

随机推荐

  1. 【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?

    问题描述 为App Service For Linux配置CI/CD,源代码在GitHub私有库中,在发布时候报错 Cannot find SourceControlToken with name B ...

  2. mySQL清除数据表数据/删除表

    一.sql清空表数据的三种方式: 1.truncate – 删除所有数据,保留表结构,不能撤销还原,速度快 2.delete – 是逐行删除,不适合大量数据删除,速度极慢 3.drop – 删除表,表 ...

  3. 【自动化】使用PlayWright+代理IP实现多环境隔离

    Playwright是由微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它仅用一个API即可自动执行Chromium.Firefox.WebKit等主流浏览器自动化 ...

  4. Scyther 协议形式化验证翻译 (第二章)

    论文概述:$\alpha +\forall (\sum \oint_{3}^{4})$ 第二章:  操作语义 在第二章中我提出了一种新的安全协议的模型,用于定义安全协议以及协议的行为,在明确的模型中执 ...

  5. .NET开源的两款第三方登录整合库

    前言 我相信做开发的同学应该都对接过各种各样的第三方平台的登录授权,来获取用户信息(如:微信登录.支付宝登录.QQ登录.GitHub登录等等).今天大姚分享两款.NET开源的第三方登录整合库. MrH ...

  6. 关于vue.js:iview-Bug-5114在iview的Poptip气泡提示内调用DatePicker出现遮挡或同时关闭窗口等冲突问题[转]

    转自:https://lequ7.com/guan-yu-vuejsiviewbug5114-zai-iview-de-poptip-qi-pao-ti-shi-nei-diao-yong-datep ...

  7. 不想dto套dto可以这样写

    之前都是要新建个dto文件的,偶然看到别人这样写,简单记录一下 @Data public class GdtDailyBalanceContent { List<GdtDailyBalanceR ...

  8. 模板函数中的const

    所有讨论都是底层const指针或引用,顶层const不会传递进模板. 模板中有const,不管传进来是否是const,T都是非const类型. template<typename T> v ...

  9. c语言之遗漏---标准C的标记化结构初始化语法

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文发布于 2015-12-29 19:22:14 ...

  10. 使用Servlet实现文件下载

    一位朋友最近在学习JavaWeb开发,开始学习文件下载操作,他自己尝试着去网上看一些教程,总的来说也不是太了解,就让我和他说说,如何实现文件下载功能.我和他说了一下大致的思路,主要分为前端和后端两部分 ...