MediaWikiの復旧
内部で利用している、MediaWikiが文字化けして使いものにならないと。。。。
MySQLの文字コードの設定がおかしくなっているようで、登録済みのコンテンツの抽出を行い、最新のバージョンにアップデートを試みる事にした。
powerpcにUbuntuをインストールするのは割愛します。結構らくちんでした。。。。
元サーバ:
Linux 2.4.21-37.0.1.EL
mysqld 4.1.21
PHP 4.3.2
MediaWiki 1.5.8
移行先:
Linux 2.6.28-6-powerpc Ubuntu
mysqld 5.0.75
PHP 5.2.6-3
MediaWiki 1.14.0
MySQLの文字コードの設定がおかしくなっているようで、登録済みのコンテンツの抽出を行い、最新のバージョンにアップデートを試みる事にした。
powerpcにUbuntuをインストールするのは割愛します。結構らくちんでした。。。。
元サーバ:
Linux 2.4.21-37.0.1.EL
mysqld 4.1.21
PHP 4.3.2
MediaWiki 1.5.8
移行先:
Linux 2.6.28-6-powerpc Ubuntu
mysqld 5.0.75
PHP 5.2.6-3
MediaWiki 1.14.0
- 元サーバのMySQの文字コードを確認してみると、latin1になっている。DBの内容を確認してみると、pageテーブルは文字化けしているが、それ以外はutf8で確認する事が可能。文字コードを指定してmysqldumpを実行。
$ mysqldump -u user -p --default-character-set=utf8 wiki > wiki_utf8.dmp - 文字化けしているpageテーブルをselect分でcsv出力
mysql> select * from page into outfile "/tmptest.csv" fields terminated by ',' optionally enclosed by '"'; - 2つのファイルをscpで移行先にコピーする。
- ダンプしたDBをインポートする。
$ mysql -u user -p wiki < /home/xxx/wiki_utf8.dmp
このまま、MySQLの処理を続けるとエラーになる。。。。。。ま、エラーになるから、私が作業してるんだけどね(ノ◇≦。) ビェーン!! - 2で出力した文字化けしている、pageテーブルのcsvをインポートする。
念のためにテーブルを削除
mysql> truncate table page;
インポート処理。(localが無いとエラーになったはず。)
mysql> load data local infile '/home/xxx/test.csv' into table page fields terminated by ',' enclosed by'"'; - MediaWikiのメンテナンスツールでupdateとindexの再構築を実施する。
$ php /var/www/mediawiki-1.14.0/maintenance/update.php
$ php /var/www/mediawiki-1.14.0/maintenance/rebuildall.php
ここでは、エラーが出ない事を神様に願うしかない。。。。。
画像ファイルへのリンクも切れているので手作業になるけど、文字情報として残っているので、何とか修正は出来ると思う。
画像ファイルは、picasaでも使って、アルバム形式で提供してあげれば、修正しやすいかもしれないね〜
コメント
コメントを投稿