Support or multple innodb data file locations

I have a question:

First some background:

I have DB where the data files are on NFS and for network throughput and performance reasons has the main data_dir that holds ib_logfiles, schema and bin-logs on one NFS mount point and the innodb data files (three of them) spread across 3 other NFS mount points for a total of 4 mount points. FYI this type configuration was also recommended in a netapp mysql best practices white paper.

innobackupex seems to backup the database just fine - although it does place all the ibdata files in the base backup directory. However, I can not get innobackupex copy-back to work. It always returns an error stating the “Original InnoDB data directory is not empty! at /opt/mysql/backup/bin/innobackupex line 571.”.


Am I correct with the deduction that innbackupex or at least the copy-back function does not support a database with more than a single location for innodb data files?

With multiple locations for innodb data files I have two options for setting innodb_data_home_dir:

innodb_data_home_dir =

this option is used when the path names for the data files are absolute and not relative

innbackupex --copy-back does not like this at all if this attribute is set this way in my.cnf. Innobackupex wants this attribute (if present) to be non-null.


innodb_data_home_dir = base_path

this is used when the data file names are relative and it prepends this base_path to the relative paths of the data files meaning that when this is specified with multiple mount points for data files this base directory can never be “empty” which innobackupex expects.

Am I missing something?

innobackupex copy backup function takes only the basename from innodb_data_file_path i.e. ibdata1, ibdata2 and copies them back to the datadir. It does not support copying back to whatever innodb_data_home_dir+innodb_data_file_path or the full path from innodb_data_file_path - you have to copy back manually for this.