简体   繁体   中英

Importing wikipedia dump to MySql

I am trying to import a .bz2 file into MySql database but I am getting this error:

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

I tried so many solutions here including raising upload_max_filesize , memory_limit and post_max_size

Any help would be really appreciated!

If you can, use MySQL directly without 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

If you really must use PHP, you need to set the memory limit for PHPMyAdmin (see this answer ), and also make sure you've run the MySQL above.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM