10bet网址
企业备份MySQL 4.0用户指南
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 1.2 mb
PDF (A4)- 1.2 mb
HTML下载(TGZ)- 181.1 kb
HTML下载(邮政编码)- 206.9 kb


7.2数据库备份和恢复一个奴隶

备份一个奴隶数据库,添加——slave-info选择备份命令。

一个奴隶服务器上恢复备份,遵循相同的步骤7.1节,“建立一个新的复制的奴隶”

临时表在statement-based复制(SBR)奴隶。MySQL企业备份不包括临时表在一个备份。作为一个奴隶的结果,服务器在statement-based复制(SBR)或mixed-based复制设置(见复制格式详情),任何临时表还在营业结束时备份过程将丢失恢复从属服务器,让奴隶的复制状态不一致,任何后续复制语句引用临时表将会失败。为了避免这个问题,在热备份后阶段mysqlbackup复制所有InnoDB表,它进入一个循环,在以下情况:

  1. mysqlbackup等待,直到所有临时表已经关闭SQL奴隶线程。mysqlbackup告诉如果是这样通过检查变量Slave_open_temp_tables有一个零值。

  2. Slave_open_temp_tables = 0检测到,mysqlbackup停止SQL奴隶线程来防止更多更改表的奴隶。

  3. 为了避免竞态条件的意想不到的后果,SQL奴隶线程已经停止后,mysqlbackup再次检查如果Slave_open_temp_tables = 0仍然是正确的:

    • 如果这是真的,mysqlbackup退出循环,完成备份声称全球读锁和复制所有non-InnoDB表。

    • 如果它是不正确的,新的临时表刚刚创建并打开的奴隶。mysqlbackup然后重启SQL奴隶线程,所以更可以从服务器上更新。mysqlbackup然后回到步骤1的循环

除了步骤(3)中描述的退出条件(也就是,真的是没有和更开放的临时表mysqlbackup准备完成备份),mysqlbackup留在上面的循环后时间太久等待所有临时表被关闭。持续时间mysqlbackup等待,直到超时是指定的——safe-slave-backup-timeout选择。

此外,mysqlbackup初还运行一个初始检查备份是否一个奴隶Slave_open_temp_tables = 0在设定的时间内变得如此——safe-slave-backup-timeout。看描述——safe-slave-backup-timeout详细的检查。

注意,与临时表不存在上述问题的基于行的复制(RBR)设置,临时表无法复制到奴隶。用户确信SBR不发生奴隶可以设置——safe-slave-backup-timeout = 0,这将防止mysqlbackup进入上述循环。