2016-11-02 2 views
0

Я пытаюсь импортировать файл .bz2 в базу данных MySql, но я получаю эту ошибку:Импорт википедия сваливать в MySql

Fatal error: Out of memory (allocated 386400256) (tried to allocate 378535937 bytes) in C:\wamp\apps\phpmyadmin4.6.4\libraries\plugins\import\ImportXml.php on line 90 

Я попытался так много решений здесь, включая повышение upload_max_filesize, memory_limit и post_max_size

Любая помощь была бы действительно оценена!

+0

Каков размер файла и каковы значения для пределов php.ini? – Jaime

+0

размер файла составляет 115 м, максимальный размер загружаемого файла - 800, ограничение памяти 1 Go, а также размер сообщения post max 1 Go –

+0

У Php, вероятно, заканчивается память при распаковке файла. Вы должны изучить потоковый декомпрессор – Jaime

ответ

1

Если вы можете использовать MySQL напрямую без PHP:

wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-page.sql.gz 
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-category.sql.gz 
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-categorylinks.sql.gz 
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-redirect.sql.gz 
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pagelinks.sql.gz 
wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-langlinks.sql.gz 

gzip -d enwiki-latest-page.sql.gz 
gzip -d enwiki-latest-category.sql.gz 
gzip -d enwiki-latest-categorylinks.sql.gz 
gzip -d enwiki-latest-redirect.sql.gz 
gzip -d enwiki-latest-pagelinks.sql.gz 
gzip -d enwiki-latest-langlinks.sql.gz 

# Don't need this if MySQL is configured correctly. 
# SET GLOBAL innodb_file_per_table = 1; 
# SET GLOBAL general_log = 'OFF'; 
# SET FOREIGN_KEY_CHECKS=1; 
# SET GLOBAL character_set_server = utf8mb4; 
# SET NAMES utf8mb4; 

CREATE DATABASE wiki_en; USE wiki_en; 

# Don't need this if MySQL is configured correctly. 
# ALTER DATABASE wiki_en CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; 

mysql -u root -p wiki_en < enwiki-latest-page.sql 
mysql -u root -p wiki_en < enwiki-latest-redirect.sql 
mysql -u root -p wiki_en < enwiki-latest-category.sql 
mysql -u root -p wiki_en < enwiki-latest-categorylinks.sql 
mysql -u root -p wiki_en < enwiki-latest-pagelinks.sql 
mysql -u root -p wiki_en < enwiki-latest-langlinks.sql 

# Indicative filesizes: 
# -rw-r--r-- 1 root root 35G Jun 2 07:01 enwiki-latest-pagelinks.sql 
# -rw-r--r-- 1 root root 13G Jun 2 07:45 enwiki-latest-categorylinks.sql 
# -rw-r--r-- 1 root root 4.3G Jun 2 11:08 enwiki-latest-page.sql 
# -rw-r--r-- 1 root root 900M Jun 2 11:03 enwiki-latest-langlinks.sql 
# -rw-r--r-- 1 root root 378M Jun 2 11:10 enwiki-latest-redirect.sql 
# -rw-r--r-- 1 root root 117M Jun 2 11:03 enwiki-latest-category.sql 

Если вы действительно должны использовать PHP, вам необходимо установить лимит памяти для PHPMyAdmin (см this answer), а также убедитесь, что вы запустите MySQL выше.

+0

как его выполнить? –

+0

Какой у вас доступ? Сервер? Через AWS? Ваш ПК? UNIX? Окна? MySQL работает на каком порту? – Eugene

+0

сервер V 5 на окнах 3306 –

Смежные вопросы