错误1114(HY000):表已满

我正在尝试通过简单的查询将行添加到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表添加一行时发生。


叮当猫咪
浏览 797回答 3
3回答

蝴蝶刀刀

编辑:在解决与配置有关的分辨率之前,请先检查是否没有用完磁盘空间。在此示例中innodb_data_file_path,您的最大尺寸似乎太小my.cnfinnodb_data_file_path = ibdata1:10M:autoextend:max:512M您在所有innodb表组合中所承载的数据不能超过512MB。也许您应该使用切换到每表一个innodb方案innodb_file_per_table。

qq_笑_17

您需要修改my.cnf中为INNO_DB表设置的限制上限。没有为单个表设置此内存限制,而是为所有组合表设置了此内存限制。如果您希望内存自动扩展到512MBinnodb_data_file_path = ibdata1:10M:autoextend:max:512M如果您不知道限制或不想设置限制上限,可以像这样修改它innodb_data_file_path = ibdata1:10M:autoextend

蓝山帝景

您可能在存储mysql表的分区(通常为/ var / lib / mysql)或存储临时表的分区(通常为/ tmp)中空间不足。您可能需要:-在创建索引期间监视可用空间。-将tmpdir MySQL变量指向其他位置。这需要重新启动服务器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL