雷竞技下载官网Percona XtraBackupgydF4y2Ba是一个开源的热备份实用程序MySQL-based服务器。一致和热备份,它使用各种锁定方法,特别是对于非事务性存储引擎表。这篇文章讨论了查询的原因和可能的解决方案gydF4y2Ba等待表刷新gydF4y2Ba州processlist备份时使用Percona XtraBackup。雷竞技下载官网gydF4y2Ba只有MySQL 5.7版本是受此影响,根据我的测试。gydF4y2Ba

类型的锁被Percona XtraBackup雷竞技下载官网gydF4y2Ba

在讨论主要问题之前,让我们了解所使用的类型的锁Percona XtraBackup采取一致的备份。雷竞技下载官网雷竞技下载官网Percona XtraBackup使用gydF4y2Ba备份锁gydF4y2Ba作为一个轻量级替代平表与读锁。这个功能是可用的gydF4y2Baraybetapp 。MySQL 8.0允许获得一个实例级备份锁通过锁实例备份语句。gydF4y2Ba

锁定为MyISAM存储引擎只是做表和其他non-InnoDB表后Percona XtraBackup完成所有InnoDB / XtraDB数据和日志备份。雷竞技下载官网与gydF4y2Ba备份锁gydF4y2Ba,P雷竞技下载官网ercona XtraBackup使用gydF4y2Ba锁表备份gydF4y2Ba自动复制non-InnoDB数据和避免阻塞DML查询,修改InnoDB表。gydF4y2Ba

因此,对于gydF4y2Ba雷竞技下载官网Percona MySQL 5.7和服务器gydF4y2Ba雷竞技下载官网Percona XtraDB集群gydF4y2Ba5.7gydF4y2Ba锁,它使用以下命令在执行MyISAM和其他non-InnoDB表:gydF4y2Ba

对上游gydF4y2BaMySQL 5.7gydF4y2Ba版本,它使用锁定命令如下:gydF4y2Ba

MySQL 8.0gydF4y2Ba使用gydF4y2Ba锁实例备份gydF4y2Ba命令。gydF4y2Ba

查询与gydF4y2Ba等待表刷新gydF4y2Ba州processlist输出XtraBackup运行时,这个问题是可见的在上游MySQL 5.7版本;雷竞技下载官网Percona服务器MySQL / Percona XtraDB集群/ MySQL 8.0就没有这个问题,因为他们使用不同的锁定机制。gydF4y2Ba

根本原因gydF4y2Ba

当MySQL表有一个长时间运行的查询/ s, XtraBackup将运行运行gydF4y2Ba冲洗NO_WRITE_TO_BINLOG表gydF4y2Ba和所有类型的新查询一个表,一个长时间运行的查询将会运行gydF4y2Ba等待表刷新gydF4y2Baprocesslist状态。gydF4y2Ba

这将是解决长时间运行的查询完成后,和下一个备份将成功完成。gydF4y2Ba

测试用例的例子:gydF4y2Ba

#开始sysbench数据库上的负载:gydF4y2Ba

阶段1:gydF4y2Ba运行下面的查询:gydF4y2Ba

#开始XtraBackupgydF4y2Ba:gydF4y2Ba

阶段2:gydF4y2Ba而gydF4y2Basession1gydF4y2Balong-query运行:gydF4y2Ba

阶段3:gydF4y2Ba而gydF4y2Basession1gydF4y2Balong-query运行:gydF4y2Ba

从这个例子中,我们可以看到所有新的查询gydF4y2BajoinitgydF4y2Ba表中gydF4y2Ba等待表刷新gydF4y2Ba状态gydF4y2Ba。在其他表的查询不受影响。gydF4y2Ba

一旦长时间查询完成,我们没有看到gydF4y2Ba等待表刷新gydF4y2Baprocesslist状态,备份将继续下去。gydF4y2Ba

可能的解决方案gydF4y2Ba

选项列表,您可以使用与Percona XtraBackup:雷竞技下载官网gydF4y2Ba

  • xtrabackupgydF4y2Ba-ftwrl-wait-timeoutgydF4y2Ba(秒)-多长时间等待一个好时机。默认是0,而不是等待。gydF4y2Ba
  • xtrabackupgydF4y2Ba-ftwrl-wait-query-typegydF4y2Ba——长在冲洗前应完成表的查询读锁。默认的都是。gydF4y2Ba
  • xtrabackupgydF4y2Ba-ftwrl-wait-thresholdgydF4y2Ba(秒)——查询前要运行多长时间我们考虑它长时间运行和潜在的拦截器的全局锁。gydF4y2Ba
  • xtrabackupgydF4y2Ba-kill-long-queries-timeoutgydF4y2Ba(秒)——我们给多少时间查询完成后刷新表的读锁发出之前开始杀死。默认0,如果不杀了。gydF4y2Ba
  • xtrabackupgydF4y2Ba-kill-long-query-typegydF4y2Ba——查询应该被杀一次kill-long-queries-timeout已经过期。默认是选择。gydF4y2Ba

注意:gydF4y2Ba杀死select查询是好的但DML / DDL最好可能导致数据不一致),这样重试备份后在非高峰时间/。gydF4y2Ba

引用:gydF4y2Ba

如何Pe雷竞技下载官网rcona XtraBackup作品(8.0)gydF4y2Ba

如何Pe雷竞技下载官网rcona XtraBackup作品(2.4)gydF4y2Ba

改善冲表读锁处理gydF4y2Ba

订阅gydF4y2Ba
通知的gydF4y2Ba
客人gydF4y2Ba

0gydF4y2Ba评论gydF4y2Ba
内联反馈gydF4y2Ba
查看所有评论gydF4y2Ba