印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
LinuxMovableType Vine Linux 3.1 に MySQL をインストール

先日は Vine Linux 2.6 に MySQL をインストールした。今回は Vine Linux 3.1 にインストールする。インストールされるバージョンが変わっている。

■ ■ ■

先日は Vine Linux 2.6 に MySQL サーバをインストールした(nlog(n): Berkeley DB から MySQL への移行を試す)。今回は Vine Linux 3.1 にインストールする。インストールされるバージョンは,Vine Linux 2.6 の場合は MySQL 3.23.53 だったが,Vine Linux 3.1 では MySQL 4.0.23 になっている。

今回は X Window の GUI を備えた Synaptic を使って MySQL のパッケージをインストールする。MySQL は複数のパッケージに分かれているので,Movable Type に必要と思われるものだけに限定してインストールする。インストール対象は,MySQL-client, MySQL-devel, MySQL-server である。

Synaptic はユーザを自動的に作ってくれないので,先にグループとユーザを作っておく必要がある。MySQL は mysql というユーザを必要とする。まずはグループとユーザがないことを確認する。

# grep mysql /etc/group
# (見つからなかった)
# grep 129 /etc/group
# (見つからなかった)
# grep mysql /etc/passwd
# (見つからなかった)
# grep 129 /etc/passwd
# (見つからなかった)

グループとユーザを作成する。Vine Linux 2.6 では,mysql はユーザID 129 で作成されていたのでこれに習うことにする。ここでの手順では,旧システムから新システムへの移行を考慮しているので「ユーザID」を指定して作成しているが,新規に作るだけであれば,「ユーザID」の番号を明示的に指定する必要はない。下手に指定すると,もともと存在するユーザIDとバッティングするなどして不具合が起こる可能性があるので注意。

# groupadd -g 129 mysql
# useradd -u 129 -g 129 -c "MySQL server" -d /var/lib/mysql mysql

Synaptic を使って,MySQL-client, MySQL-devel, MySQL-server をインストールパッケージとして指定し,「適用」ボタンをクリックする。

Synaptic で MySQL をインストール
Synaptic で MySQL をインストール

次に CPAN から DBD::mysql をインストールする。(後に知ったのですが,Vine Linux 3.1 のパッケージに入っていました。敢えて CPAN から導入するメリットはありません。Synaptic または apt-get で導入できます。)

# perl -MCPAN -e "install 'DBD::mysql'"
...
Checking if your kit is complete...
Looks good
Warning: prerequisite DBI 1.08 not found.
...

失敗している。DBI パッケージを先にインストールしておく必要があると言っている。

# perl -MCPAN -e shell
cpan> install DBI
... (成功)
cpan> install DBD::mysql
...
LD_RUN_PATH="/usr/lib" /usr/bin/perl myld gcc  -shared -L/usr/local/lib dbdimp.o mysql.o  -o blib/arch/auto/DBD/mysql/mysql.so   -L/usr/lib/mysql -lmysqlcli
ent -lz -lcrypt -lnsl -lm
/usr/bin/ld: cannot find -lz
collect2: ld はステータス 1 で終了しました
...

DBI のインストールは成功したが,DBD::mysql はまたもや失敗。「-lz」がないと言っている。つまり,「libz」がないというのである。しかし,調べてみると zlib-1.1.4-0vl3 パッケージはインストールされている。ライブラリディレクトリを調べる。

# ls -l /usr/lib/libz*
lrwxrwxrwx    1 root     root           13 Apr  3 13:52 /usr/lib/libz.so.1 -> libz.so.1.1.4*
-rwxr-xr-x    1 root     root        60973 Apr  6  2003 /usr/lib/libz.so.1.1.4*
lrwxrwxrwx    1 root     root           15 Mar 26 08:23 /usr/lib/libzvt.so.2 -> libzvt.so.2.3.0*
-rwxr-xr-x    1 root     root        98612 Oct 22 00:02 /usr/lib/libzvt.so.2.3.0*

libz.a はなくていいのだろうか? 「zlib-devel」をインストールしてみることにする。バージョンは zlib-devel-1.1.4-0vl3 である。インストール後にライブラリディレクトリを見ると,libz.a ができていた。

# ls -l /usr/lib/libz*
-rwxr-xr-x    1 root     root        66702 Apr  6  2003 /usr/lib/libz.a*
lrwxrwxrwx    1 root     root           13 Apr  3 13:57 /usr/lib/libz.so -> libz.so.1.1.4*
lrwxrwxrwx    1 root     root           13 Apr  3 13:52 /usr/lib/libz.so.1 -> libz.so.1.1.4*
-rwxr-xr-x    1 root     root        60973 Apr  6  2003 /usr/lib/libz.so.1.1.4*
lrwxrwxrwx    1 root     root           15 Mar 26 08:23 /usr/lib/libzvt.so.2 -> libzvt.so.2.3.0*
-rwxr-xr-x    1 root     root        98612 Oct 22 00:02 /usr/lib/libzvt.so.2.3.0*

ここで再度 DBD::mysql のインストールに挑戦。

# perl -MCPAN -e "install 'DBD::mysql'"
...
  /usr/bin/make install  -- OK

インストールが成功した。データベースは nlog(n): Berkeley DB から MySQL への移行を試す と同様の手順で作成できる。今回の手順を nlog(n): 日記サーバ移行計画 に追加しておく。

2005年4月3日追記:
Synaptic のリストを見ていたら,perl-DBD-MySQL と perl-DBI がありました。上のように CPAN からするのではなく,Vine Linux 3.1 の rpm のパッケージとして導入することができます。

Posted by n at 2005-04-03 14:10 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?