你可能想要使用binlog压缩与MySQL /raybetapp ,但它可以带来一些缺点。本文讨论了使用binlog压缩的必要性,对其可能造成的潜在问题。

Binlog压缩技术用于减少二进制日志文件的大小,可随着时间的推移变得很大。这可以在磁盘空间有限的情况下尤其重要。然而,重要的是要注意,使用binlog压缩也会导致复制问题。

考虑以下场景:你有恢复备份,来自一个副本节点使用rayben雷竞技 。一旦修复完成,你想设置复制使用来自xtrabackup_slave_info文件的信息。

你为小学和更新命令细节开始复制。

但你有一个错误:

第一步是解压binlog文件并开始复制。如果您使用的是通用与binlog文件复制和位置,你复制应该工作得很好,不需要进行任何更改。

然而,如果你想使用GTID-based复制,故事还没结束。我们需要解决一个复制错误。

那么,我们能做什么来解决这个问题?

  1. 最简单的方法来修复这个错误是重新启动主MySQL服务器更新gtid_purged变量。要做到这一点,确保binlog_gtid_simple_recovery =对启用。

后重新启动MySQL,它将检查所有binlogs和更新gtid_purged。开始复制副本节点上,只需执行开始的奴隶;

当然,这种方法并不适合所有人,作为一个主要重启是不推荐的方法,因为它会导致停机时间整个数据库集群。

  1. 实现这一目标的另一种方法是通过重新配置复制使用二进制日志文件和位置。

确保Master_Log_FileExec_Master_Log_Pos存在的输出显示STATUSG奴隶。

但是如果你没有它,不要绝望。你可以找到binlogfile /位置未压缩binlog并使用以下命令文件。

注意!——如的输出xtrabackup_slave_info,我们有gtid_purged = 1111 - 1111 - 1111 - 00022031 - 111111111111:1 - 31781,所以我们需要找到下一个GTID,00022031 - 1111 - 1111 - 1111 - 111111111111:31782。

在主节点去binlog目录:

找到包含这个位置的文件,运行以下命令:

注意:加速这个过程,请提供一个好的binlog文件的范围,如mysql-bin.0 *。

上面的脚本的输出,我们将binlog文件名和位置。

确定的东西!为了解决这种情况,让我们使用该文件mysql-bin.000053和位置274年。

我们应该等到复制完全陷入之前切换回GTID-based复制。

雷竞技下载官网Percona MySQL是最完整,分布稳定、可伸缩的、安全的MySQL开源解决方案,提供企业级的数据库环境最关键业务应用程序…和它的免费使用!

raybetapp2下载

订阅
通知的
客人

2评论
最古老的
最新的 大多数投票
内联反馈
查看所有评论
肯尼Gryp

binlog压缩是谈论什么呢?这是关于手动使用gzip压缩binlog文件吗?那是正常的事情并不能像预期的那样运行。

使用binlog事务压缩,那么这些问题不会发生(https://dev.mysql.com/doc/refman/8.0/en/binary-log-transaction-compression.html)。这是3年前发布。