InnoDB “The Table is Full” error

2020-06-12 05:00发布

问题:

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?

回答1:

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



回答2:

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!



回答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


标签: mysql innodb