Php 如何将大型维基百科sql文件导入mysql数据库?

Php 如何将大型维基百科sql文件导入mysql数据库?,php,mysql,sql,wikipedia,Php,Mysql,Sql,Wikipedia,我需要一个包含“主题”的数据库表,所以我下载了维基百科的sql分类文件(enwiki-latest-category.sql.gz on) 该文件为74MB(解压缩),但mysql限制为32MB。如何导入此文件 顺便说一下:我试过大垃圾场(http://www.ozerov.de/bigdump/)但它似乎也有32MB的导入限制。您可以将其拆分为32MB的片段,然后分别导入。这应该不会太费时。如果你在Windows桌面上安装了mysql,我有一些疯狂的东西,你可能想试试 请在本地mysql盒上执

我需要一个包含“主题”的数据库表,所以我下载了维基百科的sql分类文件(enwiki-latest-category.sql.gz on)

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


顺便说一下:我试过大垃圾场(http://www.ozerov.de/bigdump/)但它似乎也有32MB的导入限制。

您可以将其拆分为32MB的片段,然后分别导入。这应该不会太费时。

如果你在Windows桌面上安装了mysql,我有一些疯狂的东西,你可能想试试

请在本地mysql盒上执行以下步骤

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

  • 步骤02)
    创建数据库mycat

  • 步骤03)`mysql-u-p、 -Dmycat
  • 步骤04)导出类别的创建表

    mysqldump-u-p、 --无数据mycat category>category_00.sql

  • 步骤05)将数据转储为10个部分。由于自动增量为134526529,因此将其四舍五入为135000000(135000000)。一次倾倒20%(2700万)

只需使用
--where
选项对
cat_id

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
mysqldump-u-p、 --无创建信息mycat类别——其中=“cat_id 27000000和cat_id 54000000和cat_id 81000000和cat_id 108000000”|gzip>category_05.sql.gz
上传这6个文件,解压,然后按顺序加载


试试看

我会在文本编辑器中打开文件并删除其中的一部分。问题在大约15秒内解决。你不能更改限制吗?我确信在MySQL配置中有一个选项可以使用。您是如何尝试导入该文件的?您正在尝试导入本地mysql吗?我正在尝试通过创建一个新表将SQL文件导入现有数据库。chris,在文本编辑器中编辑该文件是一场噩梦,因为它太大了!