wikipedia ダンプ取り込み [CENTOS de LAMP]
VMのディスク容量を増やしてよっしゃということで、取り込みに挑戦してみます。
・環境
windowsのVMware 20GB
os CentOS 5.4
1.expat-2.0.1
wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
./configure
make
make install
2.xml2sql
wget http://meta.wikimedia.org/wiki/Xml2sql
tar xvfz xml2sql-0.5.tar.gz
cd xml2sql-0.5
./configure --with-expat=/usr/local/lib
make
cp xml2sql /usr/local/bin/.
3.mysql で格納先DBを作っておく
※既存DBを使うならば不要
4.MediaWiki
wget http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.2.tar.gz
tar xvfz mediawiki-1.15.2.tar.gz
cd mediawiki-1.15.2
mysql DB名 < maintenance/tables.sql
5.データファイルのダウンロード
wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-meta-current.xml.bz2
bunzip jawiki-latest-pages-meta-current.xml.bz2
cat jawiki-latest-pages-meta-current.xml | sed -e 's/<redirect \/>//' | xml2sql
page.txt
revision.txt
text.txt の3点が出来ました。
6.mysqlimport で投下
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u ユーザ名 -p -d -L DB名 text.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db text.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db revision.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db page.txt
こんな感じとなりました。
すげー時間かかるなぁ。
※※
maintenance/tables.sql を書き換えると相当早くなるようでした。
更新しないならばUNIQUE INDEXを削除と、テーブルをMyISAM指定にします。
1:tables.sqlを開く
2:UNIQUE INDEX で検索し、その行を全て削除
3:"/*$wgDBTableOptions*/" を "ENGINE = MyISAM" に一括置換
(おまけ:page, revision, text 以外どうせ使わんのなら、それ以外のCREATE TABLE文を削る)
これでトータル30分ぐらいになりました。
・環境
windowsのVMware 20GB
os CentOS 5.4
1.expat-2.0.1
wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
./configure
make
make install
2.xml2sql
wget http://meta.wikimedia.org/wiki/Xml2sql
tar xvfz xml2sql-0.5.tar.gz
cd xml2sql-0.5
./configure --with-expat=/usr/local/lib
make
cp xml2sql /usr/local/bin/.
3.mysql で格納先DBを作っておく
※既存DBを使うならば不要
4.MediaWiki
wget http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.2.tar.gz
tar xvfz mediawiki-1.15.2.tar.gz
cd mediawiki-1.15.2
mysql DB名 < maintenance/tables.sql
5.データファイルのダウンロード
wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-meta-current.xml.bz2
bunzip jawiki-latest-pages-meta-current.xml.bz2
cat jawiki-latest-pages-meta-current.xml | sed -e 's/<redirect \/>//' | xml2sql
page.txt
revision.txt
text.txt の3点が出来ました。
6.mysqlimport で投下
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u ユーザ名 -p -d -L DB名 text.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db text.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db revision.txt
mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u user_hoge -p -d -L hoge_db page.txt
こんな感じとなりました。
すげー時間かかるなぁ。
※※
maintenance/tables.sql を書き換えると相当早くなるようでした。
更新しないならばUNIQUE INDEXを削除と、テーブルをMyISAM指定にします。
1:tables.sqlを開く
2:UNIQUE INDEX で検索し、その行を全て削除
3:"/*$wgDBTableOptions*/" を "ENGINE = MyISAM" に一括置換
(おまけ:page, revision, text 以外どうせ使わんのなら、それ以外のCREATE TABLE文を削る)
これでトータル30分ぐらいになりました。
コメント 0