Как импортировать большой sql-файл википедии в базу данных mysql?

Мне нужна таблица базы данных с «темами», поэтому я скачал sql-файл категорий из Википедии (enwiki-latest-category.sql.gz на http://dumps.wikimedia.org/enwiki/latest/)

Размер файла составляет 74 МБ (в разархивированном виде), но ограничение mysql составляет 32 МБ. Как я могу импортировать этот файл?

Между прочим: я попробовал bigdump (http://www.ozerov.de/bigdump/), но у него также, похоже, ограничение на импорт 32 МБ.


person Tomi Seus    schedule 21.05.2012    source источник
comment
Я бы открыл файл в текстовом редакторе и удалил его кучу. Проблема решена примерно за 15 секунд.   -  person goat    schedule 21.05.2012
comment
Нельзя ли изменить лимит? Я уверен, что где-то в конфигурации MySQL есть опция для этого.   -  person svick    schedule 21.05.2012
comment
как вы пытаетесь импортировать файл? Вы пытаетесь импортировать локальный mysql?   -  person Nesim Razon    schedule 21.05.2012
comment
Я пытаюсь импортировать SQL-файл в существующую базу данных, создав новую таблицу.   -  person Tomi Seus    schedule 22.05.2012
comment
Крис, редактирование файла в текстовом редакторе — это кошмар, потому что он слишком большой!   -  person Tomi Seus    schedule 22.05.2012
comment
Отвечает ли это на ваш вопрос? Как импортировать SQL файл с помощью командной строки в MySQL?   -  person Martin Urbanec    schedule 04.07.2020


Ответы (2)


Вы можете разделить его на части по 32 МБ и импортировать их по отдельности. Это не должно занимать слишком много времени.

person Boelensman1    schedule 21.05.2012

Если у вас установлен mysql на рабочем столе Windows, у меня есть кое-что сумасшедшее, что вы можете попробовать.

Пожалуйста, выполните следующие шаги на вашем локальном сервере 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_00.sql

  • ШАГ 05) Выгрузите данные, разделенные на 10 разделов. Поскольку AUTO_INCREMENT равен 134526529, округлите его до 135000000 (135 миллионов). Дамп 20% (27 миллионов) за раз

Просто запустите 5 mysqldumps, используя параметр --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

Загрузите эти 6 файлов, распакуйте их и загрузите по порядку.

Попробуйте !!!

person RolandoMySQLDBA    schedule 21.05.2012