在以下情况会导致:Innodb table is full.
1. innodb公共表空间文件满了, 如nnodb_data_file_path ibdata1:10M:autoextend:max:3999M,设置了最大值,这样当公共表空间文件大小达到这个值时,就会报错了,可根据磁盘空间设置ibdata文件限制值,或者直接设置自动增长,innodb_data_file_path=ibdata1:10G:autoextend。
注意:不要以为启用独立表空,公共表空间就不会增长了。
2、还有MySQL的数据目录满,也有可能出现此类错误。
3、有人讨论auto_inrement字段达到上限也会,但测试后不会,不过,如果innodb没有设置PK,且表中没有
not null unique的索引,则会生成一个6字节的全局隐藏ID作为整个实例ID,当这个用完了,也会出现,不过,2^48行数据,且生产环境的表基本都主键,所以此类问题基本不会出现。
阅读(2823) | 评论(0) | 转发(0) |