最新消息: 新版网站上线了!!!

ERROR 1114 (HY000): The table 'ds_data' is full (innodb_data_file_path)

一、说明

1、mysql表引擎InnoDB

2、执行插入语句INSERT INTO ds_data(cityid, city) VALUES ('10', '杭州');


二、调试

错误提示说此表中存储数据已经满了,所以查看一下总行数SELECT COUNT(*)FROM ds_data

结果是有810,635行,这个行数的数据并不算多。以前在MyISAM引擎的表中从未遇到。


三、解决

1、首先看看存储数据的分区空间是否已经满了,如果分区/磁盘空间已经占完,数据必然插入不进去了

2、my.cnf或者my.ini中修改或者添加innodb_data_file_path

如果你没有指定innodb_data_file_path,开始的默认行为是创建一个单独的大小10MB名为ibdata1的自扩展数据文件。在那些支持大文件的操作系统上,你可以设置文件大小超过4GB。你也可


以使用原始磁盘分区作为数据文件。

innodb_data_file_path的值应该为一个或多个数据文件规格的列表。如果你命名一个以上的数据文件,用 分号(‘;’)分隔它们:

innodb_data_file_path=datafile_spec1[;datafile_spec2]...


默认只有1个ibdata1大小是10M

[mysqld]

innodb_data_file_path=ibdata1:10M:autoextend



自己配置2个分别为ibdata1和ibdata2大小都为50M

一个表空间,它在数据目录里包含一个名为ibdata1的固定尺寸50MB的数据文件和一个名为ibdata2大小为50MB的自动扩展文件,其可以像这样被配置:

[mysqld]

innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend


所以提示错误:ERROR 1114 (HY000): The table 'ds_data' is full是如果磁盘空间未满时就设置innodb_data_file_path这家一个扩展ibdata2并且把值设置大一点这个实例中只设置了50M.


.....

转载请注明:谷谷点程序 » ERROR 1114 (HY000): The table 'ds_data' is full (innodb_data_file_path)