1. 首页 > 资讯 > 生活资讯

MariaDB 选择性二进制日志事件

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

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

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

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

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

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

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

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

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

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

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

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

使用参数启动。

英文: MariaDB: Selective binary logs events

译文:

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/shenghuozixun/36048.html

联系我们

QQ号:***

微信号:***

工作日:9:30-18:30,节假日休息