mysql error 1114_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

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.

.....

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值