自宅サーバーにMySQLでIMAP

  • 投稿日:
  • カテゴリ:

IlohaMailを使って、ウェブメール環境をということで、

IlohaMail.org
インストールは、簡単にいきました。
中古Linuxサーバーでも快適。

さて、さらに自宅実験用のMovableTypeのための
MySQLを組み込んでみようと思いました。
TurboLinux7Serverなので、MySQLもインストール済み。

ただし、turbopkgでMySQL-develを加えておく必要があります。
これがないとあとでエラーが出ます。

perl -MCPAN -e shell
のあと、
cpan> install DBI
cpan> install DBD::mysql
です。

これで、PerlからMySQLを呼び出すことができるようになります。

しかし、うまくつながらない。
IlohaMailもMovableTypeも。

かなり悩んだのですが、データベースのホストを
自宅サーバーのアドレスを入れていたのですが、
Apacheのwwwは、自分自身なので、localhostと指定するんですね。

こうやって書くと簡単ですが、半日以上を費やしてしまいました。

Software Architecture 2003

rootがパスワード無しになっているので、パスワードを設定します。

% bin/mysqladmin -u root password <パスワード>

実習用のDBを作成します

% bin/mysqladmin -u root -p create mydb

Enter password: <パスワード>

rootでDBに接続します。データベースmydbが見えれば接続成功です

% bin/mysql -u root -p

Enter password: <パスワード>

mysql>show databases;

(結果)

mysql>quit

実習用のユーザを作成します(説明ではユーザ名/パスワードをmush/potatoとします)

PASSWORD()はハッシュを作成する関数です

mysql> insert into mysql.user (Host,User,Password)

values ('localhost','mush',PASSWORD('potato'));

mysql> insert into mysql.db (Host, Db, User,Select_priv,Insert_priv,

Update_priv,Delete_priv,Create_priv,Drop_priv)

values ('localhost','mydb','mush','Y','Y','Y','Y','Y','Y');

mysql> flush privileges;

mysql> quit
実践MySQL / perlモジュールを使用するには

shell$ perl -MCPAN -e shell

cpan> install DBI

とすると、DBI の最新版を持って来て、compile, make test, make install がおこなわれます。

MySQL module は、以下のようにしてインストールできます

cpan> install DBD::mysql
CPAN経由でLinuxにモジュールを組み込む

よくあるエラー、

 Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.

 readline() on closed filehandle PIPE at Makefile.PL line 176.

これは、この辺 を参考に、mysql_config にシンボリックリンクを張って解決できます。

 ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

という感じです。

そして次に出てきたエラーは、

 Note (probably harmless): No library found for -lmysqlclient

これは解決に手間取りました。この辺 が参考になります。

まず、先ほどの「mysql_config」を使い、

 /usr/local/mysql/bin/mysql_config --libs

で、吐き出されたデータをメモ。次に、

 /usr/local/mysql/bin/mysql_config --cflags

で、吐き出されたデータをメモします。

CPANでインストール途中だったソースのあるディレクトリに移動します。

 cd /root/.cpan/build/DBD-mysql-2.9003/

メモしたパスをつなげて、

 perl Makefile.PL --cflags=-I/usr/local/mysql/include/mysql "--libs=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm"

とタイプします。(一行で。)

「Makefile」ファイルが正常に生成されたらOKです。後は、

 make

 make test

 make install

で、残りのインストールを完了します。(2004年03月19日)
INSTALL - DBD::mysqlのインストールと構成設定の方法

バージョン7.1ではRed Hat LinuxはMySQLとDBD::mysqlがついてきます。 以下のRPMがインストールされているかを確認する必要があります:

mysql

perl-DBI

perl-DBD-MySQL

ソースからインストールするためには、以下のRPMが必要です

mysql-devel

libz-devel

リンクソース

  • 記事用リンクソース:
  • Wiki用リンクソース(PukiWiki):
  • Wiki用リンクソース(MediaWiki):
  • SNS投稿用: