If you are using InnoDB Hot Backup utility and the innobackup.pl wrapper script, be very careful if you are not running backups under the system mysql
user. There is a bug which causes InnoDB Hot Backup to sometimes report a successful backup when it actually failed.
The last few dozen lines of the output was from the backup was (after generalizing the db and table names):
InnoDB: File name /var/lib/mysql/data/dbname/TABLE_A.frm InnoDB: File operation call: 'stat'. 090210Â 3:55:00Â InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name /var/lib/mysql/data/dbname/TABLE_B.frm InnoDB: File operation call: 'stat'. 090210Â 3:55:00Â InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name /var/lib/mysql/data/dbname/TABLE_C.frm InnoDB: File operation call: 'stat'.ibbackup: Compressed 283920 MB of data files to 67407 MB (compression 76%). 090210Â 3:55:00Â ibbackup: Full backup completed! 090210 03:55:04Â innobackup: All tables unlocked 090210 03:55:04Â innobackup: Connection to database server closed innobackup: Backup created in directory '/backup/hot_backup/working/2009-02-09_22-01-38' innobackup: MySQL binlog position: filename 'db02-binlog.000271', position 513645354 090222 21:25:37Â innobackup: innobackup completed OK!
Despite the fact that there were problems reading the .frm
files, both ibbackup
and innobackup.pl
report that the backup was completely successfully. The ibbackup
program reports the error when it reads the .frm
during the backup of the ibdata
files and the innobackup.pl
reports the errors when it tries to copy the .frm
files. Manual verification of the backup confirmed that that the .frm
was not backed up, as expected with the given error.
Further investigating the error, that there are two conditions to trigger the bug: 1) the backup must not be running under the system mysql
user; and 2) one or more of the data directories for the database is readable to the user running the backup but not executable.
This bug has been submitted to Innobase at their forums.
No comments