这些选项用于备份在复制中扮演特定角色的数据库服务器,或包含在备份时需要特别注意的某些类型的数据。
——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
在暂停解除后执行。