MariaDB: 选择性二进制日志事件 【已翻译100%】

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

作为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删除历史数据:

image

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

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
Kubernetes Perl 容器
K8s查看集群 状态事件描述以及Pod日志信息
K8s查看集群 状态事件描述以及Pod日志信息
505 3
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
933 1
|
SQL 存储 关系型数据库
轻松入门MySQL:深入理解MySQL日志,二进制日志、中继日志、回滚日志和重做日志(19)
轻松入门MySQL:深入理解MySQL日志,二进制日志、中继日志、回滚日志和重做日志(19)
859 0
|
22天前
|
SQL 运维 关系型数据库
深入探讨MySQL的二进制日志(binlog)选项
总结而言,对MySQL binlogs深度理解并妥善配置对数据库运维管理至关重要;它不仅关系到系统性能优化也是实现高可靠性架构设计必须考虑因素之一。通过精心规划与周密部署可以使得该机能充分发挥作用而避免潜在风险带来影响。
56 6
|
6月前
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
397 1
|
8月前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
643 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
SQL 存储 关系型数据库
|
存储 关系型数据库 MySQL
|
存储 SQL 关系型数据库
|
10月前
|
缓存 安全 网络协议
使用事件日志识别常见 Windows 错误
事件查看器是Windows操作系统中的标准诊断工具,用于记录系统事件,包括硬件问题、软件中断和系统行为等详细信息。通过分析这些日志,管理员能够追踪和解决系统错误。访问方法包括使用快捷键Win + R输入eventvwr.msc,或通过控制面板进入。事件查看器中的每条记录包含事件ID、来源和描述,帮助识别和解决问题。常见错误如蓝屏死机、DLL错误、驱动程序错误等,可通过更新驱动程序、运行系统诊断、使用恢复功能等方式解决。
634 4

热门文章

最新文章

推荐镜像

更多