mysql - 1114(HY000): The table is full

标签 mysql innodb

我正在尝试使用简单的查询向 InnoDB 表添加一行:

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

但是当我尝试此查询时,我得到以下结果:

ERROR 1114 (HY000): The table zip_codes is full

做一个

SELECT COUNT(*) FROM zip_codes

给了我 188,959 行,考虑到我在同一个数据库中有另一个包含 810,635 行的表,这似乎并不算太​​多。

我对 InnoDB 引擎 相当缺乏经验,并且在使用 MyISAM 时从未遇到过此问题。这里有哪些潜在的问题?

编辑:仅当向 zip_codes 表添加行时才会发生这种情况。

最佳答案

编辑:首先检查磁盘空间是否用完,然后再解决与配置相关的问题。

您的 my.cnf 中的 innodb_data_file_path 的最大大小似乎太低,在此示例中

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

您不能在所有 innodb 表中托管超过 512MB 的数据。

也许您应该使用 innodb_file_per_table 切换到 innodb-per-table 方案。

关于mysql - 1114(HY000): The table is full,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911137/

相关文章:

php - Mysql数据转PHP数组,然后显示?

mysql - 将表行转换为 mysql 中的列

mysql - 如何使用 xampp/phpmyadmin 配置 innodb 的 innodb_autoinc_lock_mode

mysql - 使用 Django 将现有的 MyISAM 数据库转换为 InnoDB

MySQL:InnoDB 表的自动增量备份

mysql - innodb非识别外键需要 key 存在吗?

php - 在 OOP php 中获取查询错误

mysql - 大型引用表的 mysql 替代品

php - 无法使用主机、用户和密码连接到 mysql 数据库

主动/被动拓扑中原始设备上的 Mysql InnoDb