2011-11-22

MySQL: Failed test 'use DBD::mysql;'

凍仁在幫 Perl 安裝 DBD 模組時,得到了錯誤訊息:

t/00base ......NOK 2# Failed test 'use DBD::mysql;'

請教 星空夜雨 後才知道這是因為 DBD 模組與 MySQL 有相依性,若沒依照 Distribution 預設的方式安裝,得手動補上參數才會過,而以下條件大概都會碰到:
  • MySQL Server 為自行編譯。
  • 本機無安裝 MySQL Server。
  • 未於 MySQL Server 建立指定的測試帳號及密碼。

1. 安裝 DBI 模組。
root@CentOS:~$ perl -MCPAN -e 'install DBI' [Enter]

2. 手動切換至編譯環境底下。
root@CentOS:~$ cd ~/.cpan/build/DBD-mysql-4.020/ [Enter]

3. 手動設定 DBD 參數。
root@CentOS:~$ perl Makefile.PL --testuser='test' --testpassword='password' --testhost="192.168.oo.xx" [Enter]

4. DBD 參數請參考 Makefile.pl 內文 (可略過)。
root@CentOS:~$ vi Makefile.PL [Enter]
......
 32  Getopt::Long::GetOptions(
 33     $opt,
 34     "help",
 35     "testdb=s",
 36     "testhost=s",
 37     "testport=s",
 38     "testuser=s",
 39     "testpassword=s",
 40     "testsocket=s",
 41     "cflags=s",
 42     "libs=s",
 43     "verbose",
 44     "ps-protocol",
 45     "bind-type-guessing",
 46     "nocatchstderr",
 47     "ssl!",
 48     "nofoundrows!",
 49     "embedded=s",
 50     "mysql_config=s",
 51     "force-embedded",
 52     "with-mysql=s"
 53     ) || die Usage();
......

5. 編譯及安裝。
root@CentOS:~$ make && make install [Enter]

6. 完成!

資料來源:
Install MySQL and DBD::MySQL on Mac OS X - Building Bioinformatics Solutions