Why are we getting this error? I know our open file limit is set to 1024 on the Linux box. If we have to raise it, that is fine but the error goes away when I delete one of the schemas. I assume what is going on is that the program opens all the database tables that it needs to backup so if that is true then we could almost never be able to do a full backup without knowing the number of tables that will be backed-up.
I guess what I am asking is how does Xtrabackup leverage that variable to become a problem?
Using server version 5.6.27-75.0-log
innobackupex version 2.3.3 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 525ca7d)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql_production
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 524288000
160229 11:06:43 >> log scanned up to (287150252406)
xtrabackup: Generating a list of tablespaces
2016-02-29 11:06:44 7fda43cc1720 InnoDB: Operating system error number 24 in a file operation.
InnoDB: Error number 24 means ‘Too many open files’.
InnoDB: Some operating system error numbers are described at
InnoDB: Error: could not open single-table tablespace file ./xtrabackup_test_2/SurveyFlowAuditAssignRole.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.