mysql blackhole缺点_【MySql】 BlackHole :黑洞引擎-阿里云开发者社区
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 :黑洞引擎-阿里云开发者社区相关推荐
- mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区
关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...
- 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...
数据传输(Data Transmission) 支持以数据库为核心的结构化存储产品之间的数据传输. 它是一种集数据迁移.数据订阅及数据实时同步于一体的数据传输服务.数据传输致力于在公有云.混合云场景下 ...
- mysql 分布式 安装_mysql分布式集群安装-阿里云开发者社区
概述 MySQL Cluster旨在提供具有高可用性和低延迟的MySQL兼容数据库. MySQL Cluster技术通过NDB(网络数据库)和NDBCLUSTER存储引擎实现,并为MySQL数据库系统 ...
- 阿里 mysql cluster_MySQL Cluster集群安装及使用-阿里云开发者社区
MySQL Cluster MySQL集群 Linux最新版本7.3.2 文件 大小 md5 mysqlcluster-7.3.2-linux-x32.tar.gz 431.0MB 03093541b ...
- 阿里云mysql目录_mysql数据库目录存放位置更改-阿里云开发者社区
mysql Oracle官方下载 类型特多 看起来很让人头痛 我们选择 Download MySQL Community Server 在这个下载网站 选择平台是ORACL& RED HAT ...
- mysql5.7 备份恢复_RDS for MySQL 5.7 备份恢复为本地实例-阿里云开发者社区
RDS for MySQL 5.7 备份恢复为本地实例 近期同学咨询反馈 RDS for MySQL 5.7 备份恢复本地实例的问题比较多,提供一个恢复样例. 1. 本地环境 # 项目 说明 1 OS ...
- mysql5.5索引如何定义_MySQL5.5索引数在InnoDB引擎内与索引数在mysql中定义的数量是不一致问题-阿里云开发者社区...
在查看MySQL错误日志的时候发现这样的错误,如下: 160322 21:42:59 [ERROR] Table baby/baby_order contains 12 indexes inside ...
- mysql重新编译_重新编译mysqld_exporter0.10-阿里云开发者社区
截止本人实验时候,github上面提供的最新版的普罗米修斯 mysqld_exporter 版本为 0.10.0 , 添加了pt-heartbeat的结合,同时也加入了对mariadb采集的支持(增加 ...
- mysql 接口访问_MySQL的数据库访问接口-阿里云开发者社区
大部分流行的关系数据库产品采用的都是 C/S 架构.因此,应用程序要访问数据库的数据就必须和各种数据库客户端(也称为数据库访问接口)打交道.可以这么认为,每一种流行的编程语言都需要一个对应的数据库访问 ...
最新文章
- css浮动+应用(瀑布流效果的实现)
- Python Flask框架常用组件介绍
- angularJS前台传list数组,后台springMVC接收数组
- wget安装Jenkins
- 聊一聊Flutter Engine线程管理与Dart Isolate机制
- Oracle 20c 新特性:自动的区域图 - Automatic Zone Maps
- brew安装php-ffmpeg,mac 系统编译安装ffmpeg
- Map接口与学习系列(二)---LinkedHashMap
- 公钥与私钥 数字签名是什么?
- 安防监控芯片市场高清化趋势愈显 成行业共识
- c语言中形参和实参的区别
- 腾讯云学生服务器分享
- matlab中的小于等于,ps中如何画出小于等于符号
- Cocoa动画编程指南
- 建立“顾客购买图书”的活动图(使用泳道)
- 艾克---BBB时间设置
- java实现手写签名_手写签字,保存笔迹到图片
- 小程序开发-准备工作
- 阿伟的学习计划5.28-6.29
- nsis安装包(四)_软件环境