valencia日誌

valenciaの事は少しだけ話すかも

MacにMySQLとDBD::mysql

Lionを買ったのでせっかくだから、入れてみた。

  1. mysql-5.5.19-osx10.6-x86_64/mysql-5.5.19-osx10.6-x86_64.pkg
  2. mysql-5.5.19-osx10.6-x86_64/MySQLStartupItem.pkg
  3. mysql-5.5.19-osx10.6-x86_64/MySQL.prefPane

MySQLはこんな感じ。

ダウンロードしてクリックするだけ。

my.cnfは適当に/etcに作った。

osx10.6ってなっているけど、動いているみたい。

次はDBD::mysql

  1. sudo cpanm DBD::mysql

エラー出ました。

libmysqlclient.18.dylibがないよーって。

エラーログを探してけど残ってないからメモできない。

シンボリックリンクを/usr/libに作成。

再度、試す。

エラー出ました。

  1. t/80procs.t ................. 1/29 DBD::mysql::db do failed: alter routine command denied to user ''@'localhost' for routine 'test.testproc' at t/80procs.t line 41.  
  2. DBD::mysql::db do failed: alter routine command denied to user ''@'localhost' for routine 'test.testproc' at t/80procs.t line 41. 

 今度はエラーログが残ってた。

テストでDBに接続する際にユーザを設定してないので出たみたい。

指定する(ダウンロードされているのでディレクトリを移動して実行)。

  1. cd ~/.cpanm/latest-build/DBD-mysql-4.020
  2. perl Makefile.PL --testuser='username' --testpassword='password'

エラー出ました。

  1. Please check path/permissions. Will try to use default mysql_config 
  2. script found through PATH.
  3. Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
  4. Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located

mysql_configがないそうです。

  1. perl Makefile.PL --testuser='username' --testpassword='password' --mysql_config='PATH/mysql_config'

これで通りました。

  1. make
  2. make test

エラー出ました。

  1. t/80procs.t ................. 1/29 DBD::mysql::db do failed: Thread stack overrun:  8992 bytes used of a 131072 byte stack, and 128000 bytes needed.  Use 'mysqld --thread_stack=#' to specify a bigger stack. at t/80procs.t line 63.
  2. DBD::mysql::db do failed: Thread stack overrun:  8992 bytes used of a 131072 byte stack, and 128000 bytes needed.  Use 'mysqld --thread_stack=#' to specify a bigger stack. at t/80procs.t line 63.

my.cnfのthread_stackがよろしくないみたい。

128K→192Kに変更してMySQLを再起動。

  1. make test
  2. make install

やっと、エラーを出さずうまくいきました。

SnowLeopardの時は出た記憶がないんですよね。

忘れただけかな。