Documentation Home
MySQL Enterprise Backup 3.7 User's Guide
Download this Manual
PDF (US Ltr) - 0.8Mb
PDF (A4) - 0.8Mb

MySQL Enterprise Backup 3.7 User's Guide  /  ...  /  Changes in MySQL Enterprise Backup 3.7.0 (2012-01-04)

D.2 Changes in MySQL Enterprise Backup 3.7.0 (2012-01-04)

This section documents changes and bug fixes that have been applied in MySQL Enterprise Backup, from version 3.5.1 through version 3.7.0.

Functionality Added or Changed

  • The single-file backup feature now includes checksum verification to ensure the backup data remains unchanged during any transfers to other systems. Each file within the backup image is tested against a checksum calculated using the CRC32 algorithm, either when files are extracted from the backup image, or using the new mysqlbackup option validate to test a backup image without extracting. For example:

          mysqlbackup other_options --backup-image=image_file validate
  • The mysqlbackup option --start-lsn is now optional for incremental backups. If you specify the location of an existing full or incremental backup with the new --incremental-base option, you can omit the --start-lsn option and the mysqlbackup command automatically determines the appropriate LSN.

    For safety, the backup job halts with an error if the LSN information cannot be retrieved, or if there is a mismatch between the LSN recorded in the previous backup and the LSN reported by the MySQL instance.

    The automatic LSN detection works with both the original (--incremental) and new (--incremental-with-redo-log-only) incremental backup techniques.

  • The mysqlbackup now offers an alternative method of performing incremental backup for InnoDB tables. This technique involves copying the redo log. This backup method is an alternative to the incremental backup of InnoDB tables.

    To enable the redo-log-only incremental backup method, specify the --incremental-with-redo-log-only option on the mysqlbackup command line, instead of the --incremental option).


    The benefit of this option is a reduction in random I/O during the backup stage, in favor of sequential I/O. The older incremental backup technique reads only changed blocks from the InnoDB data files. If a high proportion of blocks changed, I/O overhead to read the changed data could limit the performance benefits of an incremental backup. The new technique minimizes this I/O overhead by doing sequential reads to copy the relatively small ib_logfile*files. The new technique tends to perform better on systems with big InnoDB tables that receive frequent updates, broadly distributed within the tables. If you have small tables, or relatively few changes, or changes over and over again to the same pages on disk, the old technique might perform better for you. The backup information from the redo logs might also take longer to apply during the apply-log phase. Run benchmarks to determine the best technique for your workload.

    This technique relies on you having sufficient redo log data to cover the period since the last incremental backup. Because the InnoDB redo log uses a circular buffer where older entries eventually are overwritten, make incremental backups frequently to avoid having older changes unavailable for the incremental backup. Ensure that the value of the innodb_log_file_size configuration option is large enough to hold all the changes to InnoDB data that accumulate between incremental backups.

    When you apply the log data from a series incremental backups to a full backup, the incremental backup data can be produced using either of the techniques. Some incremental backups could be produced by the --incremental option and others with the --incremental-with-redo-log-only option.

    Because the incremental backup data format produced by the --incremental-with-redo-log-only option is different from the format of MySQL Enterprise Backup 3.6 or 3.5, older mysqlbackup versions cannot perform the apply step on a redo-log-only backup. If you use the new incremental backup technique, upgrade the mysqlbackup command to the latest MySQL Enterprise Backup level on any machines where you run the apply-log step.

    This feature is not available in the ibbackup command, which is intended only for compatibility with the option syntax from MySQL Enterprise Backup 3.5 and the earlier InnoDB Hot Backup product.

  • Performance work within the mysqlbackup command makes backup jobs faster with less overhead.

    Performance of backup-related I/O operations is improved, particularly on Windows, by reusing I/O library code and best practices from the MySQL Server product.

    CPU overhead is lessened by reducing the number of memory allocation and deallocation operations.

  • A new option for the mysqlbackup, --only-innodb-with-frm, lets you back up InnoDB tables and their associated .frm files with minimal disruption to database processing.

    By default, all InnoDB and non-InnoDB tables are backed up, along with all the .frm files. While the .frm files are being copied, the instance is put into a read-only state. With the --only-innodb option introduced in MySQL Enterprise Backup 3.6, only InnoDB tables are backed up, but you must copy the .frm files manually, and again this stage happens with the instance in a read-only state. The --only-innodb-with-frm is intended for backups where you can ensure that no ALTER TABLE, CREATE TABLE, DROP TABLE, or other DDL statements modify the .frm files for InnoDB tables during the backup operation. If the mysqlbackup detects that any of the relevant .frm files was modified or deleted during the backup job, the command halts with an error.

  • When managing backup data using the SBT interface of products such as Oracle Secure Backup, you can change certain settings in the media management software by setting environment variables that are recognized by the SBT library. The new --sbt-environment option of the mysqlbackup command lets you set such environment variables for the duration of the backup job only, rather than using a wrapper script to set and unset the variables.

    Although the intended purpose of the --sbt-environment option is to pass environment variables used by the SBT library, you can set any Unix, Linux, or Windows environment setting this way for the duration of the backup job.

Bugs Fixed

  • The backup and some combinations of extract and --src-entry options could fail depending on the existence or non-existence of target directories. In most cases, the error was due to a directory not existing and mysqlbackup failing to create it. An extract option with no --src-entry option could fail if the target directory did already exist. (Bug #13465782)

  • When using mysqlbackup with the copy-back option, specifying a --datadir option with a trailing slash on the directory name could fail with an uninformative error message. This issue only occurred on Windows systems. (Bug #13392053)

  • A backup operation could fail if the database being backed up contained only views and no tables. (Bug #13359833)

  • MySQL Enterprise Backup now does stricter checking of LSN values to prevent the apply step for incremental backups to be carried out in an incorrect order. Now mysqlbackup gives an error if asked to apply an incremental backup that is older than the full backup, or if another incremental backup needs to be applied first. (Bug #13350012)

  • Attempting to re-run an apply-log operation a second time would fail, when using the --force option to overwrite files. (Bug #13012586)

  • A missing datadir option in the MySQL configuration file could cause the mysqlbackup command to halt. (Bug #12838474)

  • During a backup using the --only-innodb option, an incorrect message was displayed regarding a time interval to copy non-InnoDB files. (Bug #12691358)

  • Fixed a potential syntax error in the CHANGE MASTER statement written to the ibbackup_slave_info file by the --slave-info option. (Bug #12540081)

  • The apply-log and copy-back options now print messages showing the times for the start and end of those operations. (Bug #12313355, Bug #12837622)

  • Clarified processing of duplicate options. When the same option is specified more than once, the last one takes precedence. This is standard MySQL practice, not an error or warning situation. (Bug #11763378, Bug #56076)

User Comments
Sign Up Login You must be logged in to post a comment.