MariaDB: 选择性二进制日志事件

大数据 MariaDB
默认情况下使用MySQL标准复制功能时,所有事件都记录在二进制日志中,并复制到所有从机(可以过滤掉一些模式)。但使用此特性,可以在从机上跳过一些事件的复制,即使这些事件是被写入到二进制日志中的。

作为MariaDB一系列有趣特性的第一篇文章,我们从选择性跳过复制binlog事件开始。MariaDB 5.5和10支持此特性。

默认情况下使用MySQL标准复制功能时,所有事件都记录在二进制日志中,并复制到所有从机(可以过滤掉一些模式)。但使用此特性,可以在从机上跳过一些事件的复制,即使这些事件是被写入到二进制日志中的。在二进制日志中保存那些事件对于时间点恢复来说总是有用的。

的确,当需要复制一个事件时,我们通常会设置 sql_log_bin = 0 ,该事件就会被跳过:既不会写入binlog也不会复制到从机。

然而使用此新特性,只需要设置一个会话级变量标记一些事件,就可以使这些事件写入二进制日志,随即在一些从机上被跳过。

而且该特性真的非常易于使用,你需要在主机上设置:

set skip_replication=1;

并在从机上设置replicate_events_marked_for_skip='FILTER_ON_MASTER' 'FILTER_ON_SLAVE',主机上跳过的事件就不会被复制。

replicate_events_marked_for_skip得有效值包括:

 

  • REPLICATE(默认值) : 从机会复制被跳过的事件

  • FILTER_ON_SLAVE: 从机会跳过标记的事件并且不会复制

  • FILTER_ON_MASTER : 过滤操作会在主机完成,因此从机不会收到被跳过的事件从而节省网络带宽

这是一个很酷的特性,但是它在什么时候会特别有用呢?
 

用例:

在归档时使用它非常有意思。的确,很多时候当人们归档数据时,他们使用 pt-archiver 等工具删除数据并在归档服务器上复制删除的数据。

由于有了此特性,我们可以使一个从机不删除那些数据,而不必使用归档服务器复制被删除的数据。这将会快得多(更智能?),从而使归档服务器总是最新的。当然,在这种情况下 sql_log_bin = 0  会起作用(如果我们忽略时间点恢复)。

但是对于Galera Cluster呢?是的,这正是此特性非常酷的地方,如果我们在一个Galera Cluster节点上使用了 sql_log_bin = 0 ,其他所有节点都将会忽略删除操作,从而使节点之间不一致。

所以,如果你使用一个异步从机作为Galera Cluster的归档服务器,此特性真的很有必要。

如下图所示,你可以使一个MariaDB Galera Cluster节点加入 Percona XtraDB Cluster ,以便借助pt-archiver删除历史数据:

archiving

pt-archiveris 使用 --set-vars "skip_replication=1"  参数启动。

英文:MariaDB: Selective binary logs events

译文:http://www.oschina.net/translate/mariadb-selective-binary-logs-events

责任编辑:林师授 来源: 开源中国社区 编译
相关推荐

2010-10-13 15:45:23

MySQL二进制日志

2010-06-09 13:02:29

MySQL启用二进制日

2009-02-27 09:37:33

Google二进制代码

2018-10-22 14:37:16

二进制数据存储

2022-10-31 08:02:42

二进制计算乘法

2017-12-21 10:52:52

nginx日志还原

2018-03-12 14:33:49

数据库MySQL日志

2009-08-12 18:06:53

C#读取二进制文件

2009-12-16 10:49:42

Ruby操作二进制文件

2017-04-11 10:48:53

JS二进制

2022-07-26 13:00:01

安全符号源代码

2023-06-25 13:00:04

2024-01-31 09:55:53

2009-12-10 09:24:50

PHP函数fwrite

2022-07-18 09:01:15

SwiftApple二进制目标

2021-01-14 09:40:54

漏洞macOS属性表文件

2020-06-15 17:05:46

前端二进制浏览器

2023-09-18 23:50:25

二进制文件裁剪Layout

2013-04-28 15:37:35

JBoss

2011-05-25 14:10:38

浮点数
点赞
收藏

51CTO技术栈公众号