≒ wikipediaデータ利用でハマった件

twitterデータを使って色々するサイトというかサーバは組めて、その経緯を残しておこうと思ったんだけど、この2~3日サーバ自体が不安定ですぐ落ちる。それを直してからまとめるとします。

そんでつぎにwikipediaデータで色々するサイト作ろうとしてるんだけど、まずはローカルのというかサーバでもなく手元のwindowsノートのMySQLに全データ突っ込もうとして四苦八苦。

mwdumper.jarでやるのが良さそうなのでまずは挑戦。やっぱりjavaが好き。

で、2時間ぐらいで終了。DBの中身は空w なんか初っぱなにERROR吐いてるのはわかってたんだけど、無視してた。というか処理止まらないし。このページを参考にcharcter-set指定。

java -jar mwdumper.jar –format=sql:1.5 jawiki-latest-pages-articles.xml.bz2 | mysql -u フガフガ -pホゲホゲ –default-character-set=utf8 wikidb

中身入った。けど色々見てみると何かおかしい。SELECT COUNT(*) FROM text でレコード数見てみると413000しかない。元データは1853286pagesあったのに。

ケツに >aaa.txt 2>&1  付けて処理を記録。ものすごい勢いで流れてっちゃうからね。

途中でエラー吐いてMySQLが終わってるらしい。「ERROR 1366 (HY000) at line 4241」

このページを参考にSTRICTモードを外す。my.iniで指定したんだけど上手くいかず。

mysql> SET @@GLOBAL.sql_mode=”; ってmysql内で設定する。ここで「なぜ指定が効かないのか」を追究していれば次のはまりは無かったのに…

で 結果)1853286pages count(*):1853286

無駄にDBがでかいので必要な部分だけ抜き出して別テーブルへ。
で、ERROR 1206 (HY000): The total number of locks exceeds the lock table size
ググった結果の対処法は「innodb_buffer_pool_sizeを増やす」一生懸命 C:\Program Files\MySQL\MySQL Server 5.6\my.iniを
変更しても反映されず。諦めてJAVAでなんか書くかと思ったが、最後にもう一度my.iniがどっかに隠れてないか検索。
見たことないのが出てきた→C:\ProgramData\MySQL\MySQL Server 5.6\my.ini???
変更したらちゃんと反映。くそ。