如何将大型wikipedia sql文件导入mysql数据库?

时间:2012-05-21 19:36:48

标签: php mysql sql wikipedia

我需要一个带有“主题”的数据库表,所以我下载了wikipedia的类别的sql文件(http://dumps.wikimedia.org/enwiki/latest/上的enwiki-latest-category.sql.gz)

该文件为74MB(解压缩),但mysql限制为32MB。如何导入此文件?

顺便说一句:我试过bigdump(http://www.ozerov.de/bigdump/),但似乎也有32MB的导入限制。

2 个答案:

答案 0 :(得分:0)

您可以将其拆分为32MB并单独导入。它不应该太耗费时​​间。

答案 1 :(得分:0)

如果您在Windows桌面上安装了mysql,我可能会想要尝试一些疯狂的东西。

请在本地mysql框中执行以下步骤

  • 步骤01)将文件enwiki-latest-category.sql.gz解压缩到enwiki-latest-category.sql

  • 步骤02)CREATE DATABASE mycat;

  • 步骤03)`mysql -u ... -p ... -Dmycat< enwiki-最新-category.sql

  • 步骤04)导出类别

    的CREATE TABLE

    mysqldump -u ... -p ... --no-data mycat category> category_00.sql

  • 步骤05)将数据转储为10个部分。由于AUTO_INCREMENT为134526529,因此将其舍入为135000000(1.35亿)。一次转储20%(2700万)

使用针对--where

cat_id选项运行5个mysqldump
mysqldump -u... -p... --no-create-info mycat category --where="cat_id <=  27000000"                         | gzip > category_01.sql.gz
mysqldump -u... -p... --no-create-info mycat category --where="cat_id  >  27000000 AND cat_id <=  54000000" | gzip > category_02.sql.gz
mysqldump -u... -p... --no-create-info mycat category --where="cat_id  >  54000000 AND cat_id <=  81000000" | gzip > category_03.sql.gz
mysqldump -u... -p... --no-create-info mycat category --where="cat_id  >  81000000 AND cat_id <= 108000000" | gzip > category_04.sql.gz
mysqldump -u... -p... --no-create-info mycat category --where="cat_id  > 108000000"                         | gzip > category_05.sql.gz

上传这6个文件,解压缩并按顺序加载。

试一试!!!