ERROR 1114 (HY000): The table is full

2019-01-02 20:16发布

I'm trying to add a row to an InnoDB table with a simply query:

INSERT INTO zip_codes (zip_code, city) VALUES ('90210', 'Beverly Hills');

But when I attempt this query, I get the following:

ERROR 1114 (HY000): The table `zip_codes` is full

Doing a "SELECT COUNT(*) FROM zip_codes" gives me 188,959 rows, which doesn't seem like too many considering I have another table with 810,635 rows in that same database.

I am fairly inexperienced with the InnoDB engine and never experienced this issue with MyISAM. What are some of the potential problems here?

EDIT: This only occurs when adding a row to the zip_codes table.

标签: mysql innodb
19条回答
浅入江南
2楼-- · 2019-01-02 20:54

I faced same problem because of low disk space. And partition which is hosting the ibdata1 file which is the system tablespace for the InnoDB infrastructure was full.

查看更多
弹指情弦暗扣
3楼-- · 2019-01-02 20:54

In my case, I was trying to run an alter table command and the available disk space was less than the size of table. Once, I increased the disk space the problem went away.

查看更多
笑指拈花
4楼-- · 2019-01-02 21:08

I was experiencing this issue... in my case, I'd run out of storage on my dedicated server. Check that if everything else fails and consider increasing disk space or removing unwanted data or files.

查看更多
明月照影归
5楼-- · 2019-01-02 21:08

On CentOS 7 simply stopping and starting the MySQL service fixed this for me.

sudo service mysql stop

sudo service mysql start

查看更多
刘海飞了
6楼-- · 2019-01-02 21:08

This could also be the InnoDB limit for the number of open transactions:

http://bugs.mysql.com/bug.php?id=26590

at 1024 transactions, that have undo records (as in, edited any data), InnoDB will fail to work

查看更多
柔情千种
7楼-- · 2019-01-02 21:09

EDIT: First check, if you did not run out of disk-space, before resolving to the configuration-related resolution.

You seem to have a too low maximum size for your innodb_data_file_path in your my.cnf, In this example

innodb_data_file_path = ibdata1:10M:autoextend:max:512M

you cannot host more than 512MB of data in all innodb tables combined.

Maybe you should switch to an innodb-per-table scheme using innodb_file_per_table.

查看更多
登录 后发表回答