Mysql blackhole(黑洞引擎)
来源:互联网 发布:电脑程序编程入门 编辑:程序博客网 时间:2024/05/17 18:28
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” 存储引擎,它可能被用来查找与存储引擎自身不相关的性能瓶颈。
这里有一篇老外写的文章也不错:http://jroller.com/dschneller/entry/mysql_replication_using_blackhole_engine
- Mysql blackhole(黑洞引擎)
- 【MySql】 BlackHole :黑洞引擎
- 【MySql】 BlackHole :黑洞引擎
- 【MySql】 BlackHole :黑洞引擎
- 【MySql】 BlackHole :黑洞引擎
- BlackHole :黑洞引擎
- MySQL的BlackHole引擎
- MySql BlackHole存储引擎
- MySQL BlackHole 存储引擎使用
- MySQL 的blackhole存储引擎
- MySQL 黑洞引擎的使用场景解释
- mysql存储引擎Myisam、Innodb、Memery(Heap)、Mrg_myisam、Blackhole、Csv、Archive
- 在NS2 AODV协议中添加blackhole attacker(黑洞攻击)
- 在NS2 AODV协议中添加blackhole attacker(黑洞攻击) [转载]
- 使用blackhole存储引擎表模拟多主复制
- mysql基于BLACKHOLE复制基础的各种架构
- mysql基于BLACKHOLE复制基础的各种架构
- 黑洞
- go语言(二)变量
- MySql5.5半同步复制(Semi-sync repication)
- 浅谈大型网站动态应用系统架构
- 对付CNNIC这样的老流氓,国民应剥其皮揭它老底----CNNIC证书的危害及其清除
- Eclipse快捷键
- Mysql blackhole(黑洞引擎)
- 大型网站数据库架构问题及解决方案(转)
- NSDate的计算问题、日期计算、时区问题、NSTimer
- 题目1165:字符串匹配
- Java Upload to FTP
- 数据结构之单链表实现队列C++
- 数据结构— 数组循环队列C++
- 常见字符编码精解
- How to install OS X Mountain Lion in Virtualbox with iAtkos