Important Change: For
copy-back-and-apply-logand other single-file operations exceptbackup-to-image, when a relative path is specified for the--backup-imageoption, mysqlbackup takes the path as relative to the current working directory in which the mysqlbackup command is run. (Bug #29128662)-
The
--renameoption now works with both full and partial restores:If the
--include-tablesand--exclude-tablesoptions are not used, all tables in the backup are restored, with the table selected by the--renameoption renamed as specified.If the
--include-tablesand--exclude-tablesoptions are used, all tables selected by the two options together are restored, with the table selected by the--renameoption renamed as specified.
(Bug #31947026)
When a server using the
keyring_file,keyring_encrypted_file, orkeyring_awswas backed up, if it did not contain any encrypted InnoDB tables, the keyring file was not included in the backup. That created a problem when, for example, mysqlbackup was used for a server upgrade, in which case the keyring file was not preserved in the process. mysqlbackup now always looks for the keyring data file and copies it when the above-mentioned keyring plugins are active on the server. (Bug #31820564)Encrypted InnoDB tables can now be included in partial backups and restores using transportable tablespaces (TTS). (Bug #31796017, WL #13604)
The file
backup_gtid_executed.sqlwas not included in a TTS backup for a replica server using GTIDs. The file is now included in a TTS backup as long as the--slave-infooption is used. (Bug #30925447)-
An incremental backup failed if binary logging was disabled on the server during the last backup (on which the incremental backup was based on), but was subsequently enabled before the incremental backup was attempted. It was because mysqlbackup did not have the binary log information required to perform the incremental backup. With this fix, mysqlbackup skips copying the binary log for an incremental backup when the backup it is based on does not include the binary log.
Also, when restoring onto a server an incremental backup that does not contain the binary log, mysqlbackup renames any binary log files that have already been restored onto the server by adding to them the
.oldextension; the same thing happens when an incremental backup is restored with the--skip-binlogoption. (Bug #30043100) A backup now fails when a binary or relay log file is purged while the backup is going on; it also fails when
mysqlbackupfinds a binary log file missing on the server (however, if a relay log file is missing, the backup continues). (Bug #29269039)The
--incremental-baseoption now accepts a new value,history:last_full_backup, which makes it easy to create a differential backup. See the description of--incremental-basefor details. (WL #14475)
On Windows platform, if the
--backup-diroption was not specified for theextractcommand, mysqlbackup quit unexpectedly. With this fix, an error is thrown instead in the situation. (Bug #34522095)On Windows platforms, when backing up a server with encrypted InnoDB tables that did not use the
keyring_encrypted_fileplugin, the operation failed when the--defaults-fileor--backup-diroption of the mysqlbackup command contained either spaces or a trailing backslash. (Bug #33085629)When an encrypted InnoDB table had been flushed and then dropped right before a
backup-and-apply-logoperation, the operation might fail with aKeyring service not initializederror. It was because while the encrypted table was not included in the backup, the redo log fragment included in the backup might contain the changes to the table, and the apply log operation failed to apply the changes because the keyring service had never been initialized. With this fix, mysqlbackup initializes the keyring service in the situation. (Bug #32461308)A backup operation was terminated with signal 6 if the backup involved InnoDB tables encrypted using any keyring plugin other than
keyring_encrypted_file, but SSL has been disabled for connection to the server. It was because SSL is required for the keyring migration process, which was part of the backup operation. With this fix, before the keyring migration starts, mysqlbackup checks that SSL has been enabled on the server and throws a proper error if it has not. (Bug #32434668)A restore or validate operation for a compressed backup failed with an
unexpected end of fileerror. (Bug #32163271)The
--include-tablesand--exclude-tablesoptions were ignored during a restore of a TTS backup taken with full locking (i.e., with--use-tts=with-full-locking). (Bug #31947026)The
--compressoption is ignored in abackup-and-apply-log operationfor a TTS backup with full locking (--use-tts=with-full-locking), resulting in a non-compressed backup. (Bug #31913304)When a restore failed for a compressed backup because the
--compress-methodoption was used, mysqlbackup did not print a meaningful error message. With this fix, the error message indicates that the option is incompatible with the operation. (Bug #31861826)A partial backup operation in which an excluded table was stored in an external tablespace failed with the complaint that the
.ibdfile was too big. It was because of the mishandling of the .isl files involved, which has been corrected by this patch. (Bug #31724848)A restore of a compressed backup failed if the backed-up server did not use
.ibdas the extension for InnoDB tablespaces. (Bug #31596356)During a backup operation, if mysqlbackup failed with its query for the server status variable
Innodb_buffer_pool_dump_status, it ignored the error and then hung. (Bug #31445204)A restore for an incremental backup failed if the full backup it was based on was created with the
--skip-relaylogoption, but the incremental backup was created without using the option. (Bug #31124611)When backing up to a tape through a media management software (MMS), mysqlbackup always set a default value of
0000-00-00 00:00:00for thefile_creation_timeandfile_expiry_timevalues for the operation's entry in thebackup_sbt_historytable on the backed-up server. If the backup failed for some reasons, those zero values were then written to the table. If, later, thebackup_sbt_historytable was queried in NO_ZERO_DATE or NO_ZERO_IN_DATE SQL mode, the server returnedERROR 1194 (HY000): Table 'backup_sbt_history' is marked as crashed and should be repaired. With this fix, in the case of a backup failure, mysqlbackup writes the current time during the backup to those values, so the time values will never be zeros. (Bug #30275637)In a
backup-and-apply-logoperation, the connection to the server was kept open even after the backup phase of the operation was over. With this fix, the connection is closed when the operation enters the apply-log phase, in order to free up resources. (Bug #30012743)When attempt was made to restore a backup created by a higher version of mysqlbackup, the operation failed with mysqlbackup giving a cryptic message. With this fix, the error message explains clearly that the issue is with version incompatibility. (Bug #29873900)
When a backup created with the
--incremental-with-redo-log-onlyoption was restored, the binary log was missing on the restored server, so the server could not be started. (Bug #29861999)A backup failed when it involved encrypted InnoDB tables and the
--skip-unused-pagesoption was used. (Bug #29861298)When a compressed backup was created with the
backup-and-apply-logcommand and then restored using thecopy-back-and-apply-logcommand, the redo log were missing from the restored server, causing an InnoDB error when the server was started. (Bug #29851603)When the
--skip-binlogoption was used with a restore operation of a TTS backup, the operation failed. With this fix, the option is ignored in the situation. (Bug #29813666)When the
--compress-methodoption was set tonone, the backup was finished without compression as expected, but mysqlbackup printed erroneous compression information and saved the InnoDB tablespace files with the.ibzextension. With this fix, the described behaviours of mysqlbackup no longer occur in the situation. (Bug #29806518)The
--compress-leveloption took up a value of0instead of the default value of1when the--compress-methodoption was used without the--compressoption. With this fix, the default value of the option is always honored (for the applicable compression methods). (Bug #29806518)When the server to be backed up has
super_read_only=ON, mysqlbackup gave the warning that the backup operation could not be logged even if the--no-history-loggingoption has already been used with the backup command. This patch removes the unnecessary warning. (Bug #29742011)A
backup-and-apply-logoperation failed for a TTS backup if the--compressoption was used. (Bug #29639871)During a partial backup, mysqlbackup mishandled some tables stored under the data directory as if they were stored in external tablespaces, when both types of tablespaces existed on the server. (Bug #29590235)
Restore of an incremental backup failed when the backed-up server contained a partitioned table with partitions stored in different directories and the table was renamed before the incremental backup was taken, if any of the partitions was not altered after the table's name change. It was because mysqlbackup did not recreate all the
.islfiles for all table partitions after the restore, and this fix corrects the issue. (Bug #29297920)Backups for a server containing encrypted InnoDB tables failed when the server was of 64-bit and mysqlbackup was of 32-bit (or vice versa). It was due to the way keyring files were handled in the situation, which has been fixed by this patch. (Bug #29292085)
A backup created on an EL7 platform containing InnoDB tables encrypted with MySQL Enterprise Transparent Data Encryption (TDE) could not be restored to a server on a Solaris platform. It was because in this case, the source and the target platforms of the backup used different byte ordering formats, causing difficulties in loading the encryption key from the backup. This fix prevents the issue by adding detection and conversion utilities for different system architectures. (Bug #28569367)
A
backup-and-apply-logoperation running with the --compressoption printed wrong information on the compression and at the wrong time. With this patch, correct information is printed after the compression is finished. (Bug #28428760)A restore operation failed for a backup image created with the
backup-dir-to-imagecommand from a directory backup, if the backed-up server used a keyring plugin other thankeyring_encrypted_filefor InnoDB table encryption. It was because thebackup-dir-to-imageoperation mishandled thekeyring_keffile in the backup, and this patch corrects the problem. (Bug #27874581)While changing the system variable
innodb_data_file_pathon the server in between a full and an incremental backup makes the incremental backup not restorable, mysqlbackup finished the incremental backup successfully under the situation. With this fix, an error is thrown in this case, to avoid the creation of an unrestorable incremental backup. (Bug #27580477)During an incremental backup, even tables that were unchanged were said to be copied in the output messages by mysqlbackup. With this fix, the messages say the tables are being checked instead. (Bug #27576904)
After a backup operation, the entry for
innodb_buffer_pool_filenameappeared twice in thebackup-my.cnffile. (Bug #27217884)An
apply-logoperation on a compressed directory backup created extra.ibdfiles in the backup directory. (Bug #26920318)