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:42

This error also appears if the partition on which tmpdir resides fills up (due to an alter table or other

查看更多
牵手、夕阳
3楼-- · 2019-01-02 20:44

You may be running out of space either in the partition where the mysql tables are stored (usually /var/lib/mysql) or in where the temporary tables are stored (usually /tmp).

You may want to: - monitor your free space during the index creation. - point the tmpdir MySQL variable to a different location. This requires a server restart.

查看更多
爱死公子算了
4楼-- · 2019-01-02 20:45

If you use NDBCLUSTER as storage engine, you should increase DataMemory and IndexMemory.

Mysql FQA

查看更多
高级女魔头
5楼-- · 2019-01-02 20:45

I fixed this problem by increasing the amount of memory available to the vagrant VM where the database was located.

查看更多
素衣白纱
6楼-- · 2019-01-02 20:46

You need to modify the limit cap set in my.cnf for the INNO_DB tables. This memory limit is not set for individual tables, it is set for all the tables combined.

If you want the memory to autoextend to 512MB

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

If you don't know the limit or don't want to put a limit cap, you can modify it like this

innodb_data_file_path = ibdata1:10M:autoextend
查看更多
琉璃瓶的回忆
7楼-- · 2019-01-02 20:47

we had: SQLSTATE[HY000]: General error: 1114 The table 'catalog_product_index_price_bundle_sel_tmp' is full

solved by:

edit config of db:

nano /etc/my.cnf

tmp_table_size=256M max_heap_table_size=256M

  • restart db
查看更多
登录 后发表回答