10bet网址
MySQL企业备份4.0用户指南
相关的文档10bet官方网站 下载本手册

15.16特殊备份类型选项

这些选项用于备份在复制中扮演特定角色的数据库服务器,或包含在备份时需要特别注意的某些类型的数据。

  • ——slave-info

    在备份复制从服务器时,此选项捕获设置相同从服务器所需的信息。它会创建一个文件元/ ibbackup_slave_info在备份目录中,包含修改主带有主服务器的二进制日志位置和二进制日志文件名称的语句。此信息也打印在mysqlbackup输出。若要为该主服务器设置一个新的从服务器,请恢复另一台服务器上的备份数据,在备份数据上启动从服务器,然后发出一个命令修改主命令中保存的二进制日志位置ibbackup_slave_info文件。看到第7.1节,“建立一个新的复制从机”的指令。

    请注意

    仅在备份从服务器时使用此选项。在主服务器或非复制服务器上使用时,其行为未定义。

    选项不兼容——无固定选择;同时使用这两种选择将使mysqlbackup抛出错误。

    选项不兼容——only-innodb——only-innodb-with-frm选项。

  • ——safe-slave-backup-timeout

    对于基于语句的复制(SBR)或基于混合的复制设置,该选项指定时间(以秒为单位)mysqlbackup会等待Slave_open_temp_tables成为0(当没有临时表打开时是这样)通过声明一个全局读锁来完成从服务器的备份,并复制所有非innodb表。如果等待时间超过该选项指定的时间,mysqlbackup超时并抛出错误。等待是为了预防mysqlbackup在有临时表仍然打开的情况下完成从备份。参见基于语句的复制(SBR)从表上的临时表有关如何mysqlbackup处理从服务器上的临时表。

    此外,mysqlbackup还在从备份开始时运行初始检查,以查看是否Slave_open_temp_tables = 0在所设置的持续时间内为true——safe-slave-backup-timeout.如果没有,mysqlbackup将其作为备份完成之前的早期迹象,一些临时表可能在超过超时限制后仍保持打开状态;mysqlbackup然后抛出错误,而不是继续备份。当发生这种情况时,您可以使用更高的值重新启动备份——safe-slave-backup-timeout,或在使用的临时表较少时重试。

    默认值:300

    对于基于行的复制(RBR)设置,临时表不会复制到从表上。确定从服务器没有发生SBR的用户可以进行设置——safe-slave-backup-timeout = 0,以mysqlbackup在完成备份之前不会检查任何打开的临时表。

  • ——suspend-at-end

    此选项暂停mysqlbackup备份过程将接近结束时执行此命令。它创建了一个名为ibbackup_suspended在备份日志组主目录中,并等待删除该文件后再继续。此选项用于通过自定义脚本自定义锁定行为和非innodb文件的备份。

    方法关闭锁定,否则所有表在挂起之前都会被锁定,从而使数据库处于只读状态——无固定——、选择。的——only-innodb而且——only-innodb-with-frm选项还可以防止锁定步骤。因为在繁忙的服务器上锁定所有表可能会有问题,所以您可以结合使用——only-innodb而且——suspend-at-end只备份特定的InnoDB表。

  • ——exec-when-locked= "实用程序__arg1最长……”

    命令行格式 ——execute -when-locked="utility arg1 arg2…"
    类型 字符串

    您可以使用此选项运行一个脚本,该脚本备份不包括在常规备份中的任何信息。例如,用——exec-when-locked,你可以使用, mysqldump从内存存储引擎备份不在磁盘上的表。

    在运行之前,设置您想在脚本中使用的任何变量mysqlbackup.在下面的示例中,使用BACKUP_DIR环境变量被设置为指向当前备份目录(的参数使用引号——exec-when-locked,以防止变量的过早膨胀BACKUP_DIR):

    在Unix或Linux系统上:

    出口BACKUP_DIR =path_to_backupdirmysqlbackup——execute -when-locked="mysqldump mydb t1 > $BACKUP_DIR/t1.sql"other_optionsmysqlbackup_command

    或者在Windows系统上:

    设置BACKUP_DIR =path_to_backupdirmysqlbackup——execute -when-locked="mysqldump mydb t1 > %BACKUP_DIR%/t1.sql"other_optionsmysqlbackup_command

    如果该实用程序无法执行或返回非零退出状态,则整个备份过程将被取消。如果你也使用——suspend-at-end选项指定的实用程序——exec-when-locked在暂停解除后执行。