要旨
在对英语 Wikipedia 执行 40+ GB 的大规模导入之前,我不得不暂时从三个表(“page”、“revision”和“text”)中删除索引和自动增量字段以处理负载。现在我终于成功地将英文维基百科导入到我的本地机器并创建了一个本地镜像(MediaWiki API)。耶!
但是,我现在需要在不到十年的时间内重新创建索引和自增字段。幸运的是,(1)在删除索引和字段之前,我在 phpmyadmin 中截取了大量相关表的屏幕截图;(2)我可以非常精确地解释我在导入之前采取的步骤;(3) 这对于任何精通 MySQL 的人来说应该不会太难。不幸的是,我对 MySQL 没有任何专业知识,因此“婴儿步骤”解释将非常有帮助。
正是我所做的(准备导入):
步骤 1、2、3:这张图片描绘了在我修改字段page_id之前的表格页面,方法是单击“更改”并取消选中“自动增量”(为导入做准备)。我对表修订中的字段rev_id和表文本中的old_id执行了完全相同的修改,但省略了屏幕截图以避免冗余。
第 4 步:此图描绘了在我删除所有索引之前表页的索引。
第 5 步:此图描述了在我删除所有索引之前表修订的索引。
第 6 步:这张图片描述了我删除所有表格文本之前的索引。
我现在需要什么(导入后恢复):
我只需要恢复原始索引和自增字段,无需等待一百年。
设置细节:PHP 5.3.8 (apache2handler), MySQL 5.5.16 (InnoDB), Apache 2.2.21, Ubuntu 12.04 LTS, MediaWiki 1.19.0 (private wiki)