|
|
Topic Category
|
|
|
|
Link Category
|
|
|
|
最新:10/01 12:07
|
|
|
|
最新:07/28 16:47
|
|
|
|
|
|
|
|
|
|
MovableType 3.0 (その4)
Perl拡張モジュールのDBI,DBDに挑戦。
> さて、次は MySQL の DBI, DBD 拡張モジュールのインストールに
> 挑戦してみたい。実は、これ会社の環境(sun:Solaris 8)ではどう
> してもうまくいかず挫けたのだ。
と言うことで、Perlからデータベースアクセスするための拡張モジュール DBI (DataBase Interface) と DBD::MySQL (DataBase Driver) のインストールに挑戦してみた。これらは Perl の拡張モジュールで、ともに CPAN から入手することができる。2004.08.27現在の最新版は、
- DBI - Ver.1.43 (DBI-1.43.tar.gz)
- DBD::MySQL - Ver.2.9004 (DBD-mysql-2.9004.tar.gz)
だった。DBD は MySQL以外にも各種のデータベースに対応した物があり、これがデータベースアクセスの差異を吸収しており、DBI を介して Perlに対して API を提供する形になっている。この構造のため Perlスクリプトからはデータベースが何であるかを全く意識することなく、スクリプトのソースを修正しなくても各種データベースを扱うことが可能になる。(まぁ我々も「アダプタ」とか称して良くやる手法である。)
Perl拡張モジュールのビルド方法には決まった作法があって、殆どは
$ perl Makefile.PL
$ make
$ make test
$ sudo make install
|
で良く、実際 DBI はこの方法で問題ない。しかし、DBD::MySQL を MacOS-X にインストールする場合は若干様子が異なるようで、インストール方法は(英語だが)[tw] Articles >> Mac OS X >> How to Install DBD::mysql on Mac OS X 10.3 (Panther) が参考になる。多くのサイトでは DBD::MySQL を MacOS-X (Panther) にインストールする方法として DBI と同じ方法を紹介しているが、私の経験では間違いなく失敗する。
さて、DBI, DBDのインストール作業の手順だ。
- CPAN から DBI, DBD をダウンロードする。(検索すれば、すぐ見つかるだろう。)
- ダウンロードしたファイルを解凍する。以下のディレクリが作成されるはず。
- DBI-1.43
- DBD-mysql-2.9004
- 先に DBI からインストールする。DBI-1.43 ディレクトリへ移動(cd)する。
- このビルド方法は通常の Perlモジュールと同じ。
$ perl Makefile.PL
$ make
$ make test
$ sudo make install
|
ロケールに関する警告メッセージが多くでて鬱陶しい場合は、上の作業の前に
とでもしておくと良いだろう。
- DBD::MySQL に取り掛かる。DBD-mysql-2.9004 ディレクトリへ移動(cd)する。
- ビルドのために
"/usr/local/mysql/bin/" にある "mysql_config" を使うので、"/usr/local/mysql/bin/" に PATH を通しておく。
$ export PATH=$PATH:/usr/local/mysql/bin
|
- Makefile を作成する。
$ perl Makefile.PL --testdb=test --testuser=root --testpassword=root_password --testhost=localhost
$ perl -pi -e's/MACOSX/env MACOSX/' Makefile
|
--testdb=testオプションは動作確認に使うMySQLのデータベース名だが、MySQLをインストールした時点で test というデータベースが作られていると思うので、これを使うようにしている。--testuser=root --testpassword=root_password は MySQLのルートユーザとそのパスワードである。こうして作成された Makefile を少々手直し(MACOSX という文字列の前に "env " を付加しているようだ)してから実際のビルドに移る。
- ビルドして、動作確認する。
テストは残念ながら私の場合100% OK とはいかなかった。が、少々のエラーは問題ないようだ。ここは強行突破(^_^;)。
- インストールする。
- MovableType の環境確認の CGI
"http://www.your-site.com/movabletype/mt-check.cgi" にアクセスしてみる。
Checking for Data Storage Modules:
|
DBD::mysql
Your server has DBD::mysql installed (version 2.9004).
|
と表示されていたら取り敢えず大丈夫であろう。
|
|
2004 calendar
最新:08/15 17:19
|
|