MySQL Enterprise Backup 3.11 Release Notes

3 Changes in MySQL Enterprise Backup 3.11.0 (2014-09-02)

Functionality Added or Changed

  • MySQL Enterprise Backup now supports optimistic backup, a two-phase backup process that can potentially improve performance for backing up and restoring huge databases in which only a small number of tables are modified frequently. See Making an Optimistic Backup for details. (Bug #17981060)

  • MySQL Enterprise Backup now throws an error when the --include-tables and --exclude-tables options are used with no arguments. The same applies to the legacy option of --include. (Bug #11786043)

  • MySQL Enterprise Backup now supports online selective restore of tables from a backup created using transportable tablespaces (TTS) (that is, a backup created with the --use-tts option). See Restoring Selected Tables from a TTS Backup, for details.

  • To enrich the full-instance backups that MySQL Enterprise Backup has been performing since release 3.9, the following log files are now included in all backups by default:

    • Binary log files: The inclusion of the binary log files allows MySQL Enterprise Backup to take a snapshot of a server and clone it to its exact state. It also allows a point-in-time recovery (PITR) of a MySQL database following an incremental backup. You can skip backing up the binary logs by using the new option --skip-binlog with your backup command.

    • Relay log files: they are included when a slave database in a replication setup is being backed up. Their inclusion saves the time and resources required for fetching the relay logs from the master when the slave is being restored. You can skip backing up the relay logs by using the new option --skip-relaylog with your backup command.

    • The slave status log files: Usually named master.info and relay-log.info, they are included when a slave database is being backed up.

    Note that the inclusion of these log files may significantly increase the size of a backup, the backup time, and the I/O resource required for a backup if the database is large, or when there have been a large amount of events taking place on the MySQL server, making the binary and relay logs very large. Consider using the --skip-binlog or --skip-relaylog option if resource or performance issues arise.

    For offline backups, four new options, --log-bin-index, --relay-log-index, --master-info-file, and --relaylog-info-file, are introduced for specifying the locations of the log index files and slave status log files, in order for mysqlbackup to find those files when they are not at their usual locations.

Bugs Fixed

  • A list-image operation failed for a backup in the Barracuda format when the page size of it was different from the default value of 16K, with mysqlbackup complaining that the page size was illegal. It was because mysqlbackup always assumed the default page size and validated the actual page size of the backup against it. This fix removed the unnecessary page size validation for a list-image operation, so mysqlbackup does not throw an error in the situation. (Bug #19275345)

  • mysqlbackup failed to restore tables from a backup created using transportable tablespace (TTS) if the value of the system variable innodb_file_format on the server was different from the file format of the backed up tables. With this fix, the restore will work in the situation as long as the --force option has been used, which will temporarily set innodb_file_format to the correct value. (Bug #19184474)

  • The file backup_variables.txt was not copied from a backup to the server's data directory during a copy-back operation. With this fix, the file is now copied, allowing incremental backups to be taken or applied afterwards on the server. (Bug #19163872)

  • Using the --use-tts option with a restore operation crashed mysqlbackup. With this fix, instead of mysqlbackup crashing, a proper error is thrown in the situation (as --use-tts is only for backup operations). (Bug #19163136)

  • When packing an incremental backup directory into a single file using the backup-dir-to-image subcommand, the parameter --innodb_page_size was not properly read and set, and mysqlbackup threw an error for a mismatch of the parameter between its specifications in the backup configurations and the InnoDB file header of the backup. With this fix, mysqlbackup now sets --innodb_page_size correctly for an image created from an incremental backup directory. (Bug #19140046)

  • The server connection option --skip-secure-auth was not working with mysqlbackup, and connection to a MySQL server using old password format was refused. With this fix, the option can now be used. Also, starting from MySQL Enterprise Backup 3.11, this option is necessary for any connection using the old password format. (Bug #19044667)

  • For an apply-incremental-backup operation, mysqlbackup threw an assertion error when the option incremental-backup-dir was missing from the command. This fix make mysqlbackup check for the option and then give the proper error message (Missing or empty --incremental-backup-dir option specified) in such a case. (Bug #18911368)

  • The backup-dir-to-image operation failed for compressed backup directories with a complaint by mysqlbackup that the data file for the backup did not exist. It was due to the wrong handling of data file names for compressed backups by mysqlbackup, which has now been fixed. (Bug #18860234)

  • An incremental backup might fail when there were multiple threads configured for mysqlbackup, with one thread deleting an .ibd file and then another thread trying to open it. This fix makes sure the conflict does not occur in the multithread situation. (Bug #18231960)