I have a MySQL InnoDB table on a RedHat Enterprise Linux 4 server, and after trying to import a database previously backed up using mysqldump
I got a "the table is full" error.
The table currently has 463,062 rows in it, and the ibdata1
file on disk is currently 3.37Gb. A quick "SHOW VARIABLES;
" shows that the innodb_data_file_path
is set to ibdata1:10M:autoextend
, and the filesystem is ext3, so I'd expect it to have plenty of room left to grow.
Any ideas how I can go about establishing exactly what the problem is?
Check that the disk the InnoDB data file is stored on isn't full
If I was you I would try actually setting the last part of the innodb_data_file_path command i.e. innodb_data_file_path ibdata1:10M:autoextend:max:3999M
Not specifying the large number can sometimes have it default to unpredicatable numbers.
Not to be too obvious but ensure you restart after making the config change!
We fixed the exact same issue on CentOS on AWS. Contray to what most of the posts indicate, this can be fixed by adding right below the [mysqld] section in your my.cnf file:
innodb_data_file_path=ibdata1:10G:autoextend