我需要一个包含“主题”的数据库表,因此我下载了维基百科类别的SQL文件(在http://dumps.wikimedia.org/enwiki/latest/上的enwiki-latest-category.sql.gz)
该文件大小为74MB(未压缩),而mysql的限制是32MB。我该如何导入此文件呢?
顺便说一下:我尝试了bigdump(http://www.ozerov.de/bigdump/),但它似乎也有32MB的导入限制。
该文件大小为74MB(未压缩),而mysql的限制是32MB。我该如何导入此文件呢?
顺便说一下:我尝试了bigdump(http://www.ozerov.de/bigdump/),但它似乎也有32MB的导入限制。
如果您在Windows桌面上安装了mysql,我有一个疯狂的想法,您可能想尝试一下。
请在本地mysql框中执行以下步骤
步骤01)将文件enwiki-latest-category.sql.gz解压缩到enwiki-latest-category.sql
步骤02)CREATE DATABASE mycat;
步骤03)`mysql -u... -p... -Dmycat < enwiki-latest-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
选项运行5个mysqldumps来针对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
上传这6个文件,解压缩它们,按顺序加载它们。
试一下吧!!!
您可以将其分成32MB的块并逐个导入。这不应该太耗时。