• innobackupex备份参数slave-info、safe-slave-backup


    mysql物理备份用的比较多的是innobackupex命令,备份常用,但对于里面的两个参数slave-info、safe-slave-backup一直搞的不太明白,今儿亲测了一下。

    先解释一下参数意义

    --slave-info :在从库进行备份时,该参数会在备份目录下生成xtrabackup_slave_info文件,文件记录主库的binlog日志位置点。在进行数据库恢复,搭建多从库时都需要这个文件。

    如果在主库进行备份(在主库备份的情况很少,把主库惹怒了只能跑路了),该参数就不起作用了,主库的备份目录下始终会生成文件xtrabackup_binlog_info 记录binlog日志位置点。

    --safe-slave-backup:官方说备份时检测从库是否有打开的临时表,如果没有就stop SQL thread开始备份,备份完后start SQL thread;

    如果有打开的临时表就等,直到--safe-slave-backup-timeout超时。--safe-slave-backup-timeout默认300s,每3s进行一次重试检查,共重试100次。

    这个参数和--slave-info经常一起使用,为了保证数据的一致性。

    测试结果

    1. 在备份过程中从库也会同步主库的DMLDDL等操作,而且这些操作也会在从库一并备份,可见并不是一开始就stop SQL thread的;

    2. 在innodb文件拷贝完成后,会刷新所有的表,这个时候从库会stop SQL thread,阻止主库上的一切操作,并且记录这个时候的binlog日志点到备份文件中,整个备份完成后,start SQL thread;

    3. 对于不加--safe-slave-backup参数的备份,在innodb文件拷贝完成后,会刷新所有的表,并且记录这个时候的binlog日志点到备份文件中;

  • 相关阅读:
    Linux常用命令
    python_并发编程——多进程的第二种启动方式
    python_并发编程——多进程
    python_面向对象——动态创建类和isinstance和issubclass方法
    python_面向对象——双下划线方法
    python_反射:应用
    python_反射——根据字符串获取模块中的属性
    python_面向对象——反射
    python_面向对象——属性方法property
    python_面向对象——类方法和静态方法
  • 原文地址:https://www.cnblogs.com/nandi001/p/11528789.html
Copyright © 2020-2023  润新知