10bet网址
MySQL企业备份4.0用户指南
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 1.2 mb
PDF (A4)- 1.2 mb


4.3.6乐观备份

乐观备份是MySQL Enterprise backup 3.11中引入的一个特性,用于提高备份和恢复大型数据库(其中只有少量表频繁修改)的性能。

在一个巨大数据库的热备份过程中(例如,以tb为单位),当备份正在进行时,服务器上可能会生成巨大的重做日志文件。由于重做日志文件的增长速度超过了处理它们的速度mysqlbackup时,备份操作实际上可能失败mysqlbackup无法赶上重做日志周期,并且在服务器读取之前,lpar会被服务器覆盖mysqlbackup。此外,运用原木一步为恢复准备备份会花很长时间mysqlbackup有巨大的ibbackup_logfile应用于备份的文件(从大重做日志文件创建)。当备份和恢复过程中可用于读写重做日志的I/O资源稀缺时,问题会加剧。

乐观备份通过将备份过程划分为两个内部阶段来解决这些问题,这两个阶段对用户是透明的:

  1. 乐观阶段:在第一阶段中,在备份过程中不太可能修改的表(称为不活跃的表下面,由用户用optimistic-time选项,或通过排除optimistic-busy-tables选项)在不锁定MySQL实例的情况下进行备份。由于在备份完成之前不希望更改这些表,所以重做日志、撤消日志和系统表空间不会通过mysqlbackup在这个阶段。

  2. 正常阶段:在第二阶段中,第一阶段没有备份的表(称为繁忙的表)正在以一种与普通备份处理方式类似的方式进行备份:首先复制InnoDB文件,然后在锁定MySQL实例的情况下复制或处理其他相关文件。重做日志、撤消日志和系统表空间也在此阶段进行备份。

的时候就会发生乐观备份optimistic-timeoptimistic-busy-tables选项。关于如何使用这些选项,请参见第15.10节“性能/可伸缩性/容量选项”。如果如预期的那样,由乐观选项标识的非活动表列表在备份期间没有更改(或者,即使更改的百分比很小),大多数用户将发现总体备份时间与普通备份相比显著减少,因为要备份的重做日志数据的大小将会小得多。此外,备份的恢复时间也将缩短,因为运用原木由于重做日志更小,操作将更快。但是,如果发现在备份过程中标识的非活动表列表发生了很大一部分更改,那么执行乐观备份的好处就会变得有限,而且在最坏的情况下,乐观备份实际上可能需要更长时间执行,而且对于单文件备份,备份的大小将比普通备份更大。因此,用户应该小心识别哪些表不活跃的哪些是当试图执行乐观备份时。

请注意

不能为增量备份或使用的备份执行乐观备份可迁移表空间(TTS)

下面的示例说明如何进行乐观备份。

例4.25使用选项进行乐观备份optimistic-time =YYMMDDHHMMSS

在本例中,自2011年5月16日中午以来修改过的表被视为忙表,并在乐观备份的正常阶段进行备份,而所有其他表都在乐观备份阶段进行备份:

Mysqlbackup——defaults-file=/etc/my.cnf——optimistic-time=110516120000 backup- image . Mysqlbackup——defaults-file=/etc/my.cnf

例4.26使用选项进行乐观备份现在optimistic-time =

在本例中,所有表都被视为非活动表,并在乐观备份的乐观阶段进行备份:

Mysqlbackup——defaults-file=/etc/my.cnf——optimistic-time=now备份到映像

例4.27乐观备份使用optimistic-busy-tables选项

在本例中,表在mydatabase前缀是mytables -在它们的名称中被视为忙表,并在乐观备份的正常阶段进行备份,而所有其他表都在乐观备份阶段进行备份:

Mysqlbackup——defaults-file=/etc/my.cnf——optimist -busy-tables="^mydatabase\.mytables-. "*”备份

当你使用两个optimistic-time而且optimistic-busy-tables选项,它们在确定哪些表是忙表时发生冲突,optimistic-busy-tables优先于optimistic-time。例如:

例4.28乐观和部分备份使用optimistic-busy-tables而且optimistic-time选项

在本例中,表在mydatabase前缀是mytables -在它们的名称中被视为忙表并在正常阶段进行备份,即使它们自2010年5月16日(指定的时间)以来没有被修改optimistic-time

Mysqlbackup——defaults-file=/etc/my.cnf——optimist -busy-tables="^mydatabase\.mytables-. "*" \——optimistic-time=100516备份