MySQL : してログ

Open Web Analytics は、PHP と MySQL で作られたオープンソースのアクセス解析システムです。画面は、Google Analytics にそっくりで、ぱっと見たら見分けがつかないくらいよく似ています。

Open Web Analytics
http://www.openwebanalytics.com/

インストールは、MySQL のデータベースを作り、サイトに展開した OWA の install.php を実行すれば、後は指示に従うだけとなります。インストール後は、Google Analytics と同じような JavaScript をコントロールパネルから発行でき、解析したいウェブサイトに埋め込むことで解析が始まります。また、埋込み用 PHP コードもあり、もっと細かく制御することが可能です。

機能的には Google Analytics の代わりとして十分であり、代替えの選択肢となり得ます。

開発当初は、PHP5 + MySQL5 で行く予定のプロジェクトが、急遽 PHP4 + MySQL4 の環境で動かさなければならなくなって、開発を進めてきた DB をダウングレードする必要に迫られた。考えるだけで苦労しそうな命題なだけに、「えぇ〜新しいサーバー買おうよぉ」と言いたいのを我慢してとにかくトライしてみることにした。

まず出来たら儲けもんだと、phpMyAdmin からエクスポート&インポートを試してみたけど、全くだめ。文字化けしている。GUIだと逆にどう設定したらいいのか分からないので、早々に諦めコマンドでダンプすることにする。とりあえずリストアするのは MySQL4 なので、--compatible=mysql40 を試してみるけど、やっぱり文字コード周りでうまく行ってないっぽいエラーが出る。けど、エクスポート自体は下記コマンドで OK っぽい。

mysqldump --compatible=mysql40 --default-character-set=ujis --database xoops > xoops.sql

出来上がりの xoops.sql を見ても、文字化けしてない。ちなみに、これは EUC の文字コードで xoops という db をダンプするという指定だ。

で、リストア時のエラーを良く見てみると、なんか DB 定義 SQL の前後で、文字コードを保存して一時的に変更、定義後に元に戻す、というようなことをやっている。もしや、これいらないんじゃないかと思い、試しにこの3行をすっぱり削除してみた。ちょっと気の利いたテキストエディタで置き換えすれば、3回の操作で修正完了。

こいつをリストアに掛けてみると、おぉ幾つかテーブルが作成された! 文字化けも OK だ。

まだ途中でエラー停止してしまっているので、エラーメッセージを確認してみる。「varchar(256)」これだ。そんな制限あったかどうだか分からないが、varchar は 255 までらしい。ちなみに、ccenter というモジュールの email フィールドの定義部分だった。まぁ1文字くらい大丈夫だろうと、varchar(255) に修正して、リトライしたら、全テーブル移行に成功しちゃいました。

いや〜、心配だったけど、やり方さえ分かってしまえば、もう安心。

※この記事は「Yahoo!ブログ - HDRp」からの転載です