11

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?

andygeers
  • 6,909
  • 9
  • 49
  • 63

3 Answers3

16

Check that the disk the InnoDB data file is stored on isn't full

andygeers
  • 6,909
  • 9
  • 49
  • 63
3

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
3

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!

Stewart Robinson
  • 3,459
  • 4
  • 21
  • 27