修改InnoDB索引时出现 The table is full
今天在迁移数据库的时候,因为为了测试论坛从MyISAM转换成InnoDB,将pre_forum_post这个表转成了InnoDB,并且去掉了自增属性。
因为Discuz X2.5用了联合自增,所以直接从MyISAM转到InnoDB是不行的,转换后出现各种问题。
在测试中,首先是尝试着将主键从pid-position改成了position-pid,然后再将表转换成InnoDB。
不过,因为那台MySQL服务器是虚拟机,性能 太差了,转了20多小时还没转完,所以就将文件转移到另一台服务器上去处理。
果然,十几分钟就转换完成了。。。性能果然牛、、
转移到之前那台服务器的时候运行
ALTER TABLE `pre_forum_post` DROP PRIMARY KEY, ADD PRIMARY KEY (`tid`, `position`);
悲剧的发现,出现了
ERROR 1114 (HY000): The table 'pre_forum_post' is full
苍天啊,大地啊。为啥都是这么曲折啊。。
找了半天,修改了
tmp_table_size = 20G
max_heap_table_size = 20G
还是不行,唉,看来还是不行。
试着将2句sql分开来执行,艹 居然好了。。。
真TM坑爹
【声明】本文 修改InnoDB索引时出现 The table is full 为柠之漠然原创文章,转载请注明出自
枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2013/11/appears-the-table-is-full-when-modifying-innodb-index/ , 转载请保留本声明!