zoukankan      html  css  js  c++  java
  • MySQL Backup--xtrabackup与Bulk Load for Create Index

    场景描述:
    主从使用MySQL 5.7.19

    1、从库上使用xtrabackup进行热备。

    2、主库行执行DDL创建索引:

    ALTER TABLE `tb_xxx` ADD INDEX idx_goods_no ( `goods_no` );

    3、DDL操作通过复制传递到从库,从库同时进行DDL+xtrabackup,备份出错:

    190523 18:19:51 >> log scanned up to (5543703294525)
    InnoDB: Last flushed lsn: 5542978935310 load_index lsn 5543703473020
    InnoDB: An optimized (without redo logging) DDLoperation has been performed. All modified pages may not have been flushed to the disk yet. 
    PXB will not be able take a consistent backup. Retry the backup operation

    问题原因:

    在MySQL 5.7版本中,MySQL使用Bulk Load for Create Index特性来提升索引创建速度,但由于Bulk Load不会产生redo log,数据库从write-ahead logging方式退化成direct persist data,而xtrabackup依赖redo log来保证数据一致性,因此导致xtrabackup失败。

  • 相关阅读:
    微信小程序 数组索引 data-“”解释
    Aho-Corasick算法原理(图省事我直接粘贴PPT了)
    神奇的人生
    nginx-学习笔记9
    nginx-学习笔记8
    nginx-学习笔记7
    nginx-学习笔记6
    nginx-学习笔记5
    nginx-学习笔记4
    nginx-学习笔记2
  • 原文地址:https://www.cnblogs.com/gaogao67/p/10916608.html
Copyright © 2011-2022 走看看