修改InnoDB索引时出现 The table is full

2013年11月14日 分类: Mysql (153 个脚步)

今天在迁移数据库的时候,因为为了测试论坛从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 【声明】本文 修改InnoDB索引时出现 The table is full 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2013/11/appears-the-table-is-full-when-modifying-innodb-index/ , 转载请保留本声明!

标签: , , , , ,
目前还没有任何评论.
你必须要启用 Javascript