转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2010/10/29/perl-mysql-%e7%9a%84%e6%a8%a1%e5%9d%97%e4%b8%8d%e8%83%bd%e5%ae%89%e8%a3%85%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html

我们最常用的 DBD::mysql 模块,我发现是难住很多人的地方。因为安装老是失败,下面我介绍一下解决方法,比如我使用 cpanm 安装,有时就出 /home/nue2501j/work/DBD-mysql-4.010/blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: DBIc_TRACE_LEVEL at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.

如下

cpanm DBD::mysql

出错

# Tried to use 'DBD::mysql'.
# Error: Can't load '/home/nue2501j/work/DBD-mysql-4.010/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: /home/nue2501j/work/DBD-mysql-4.010/blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: DBIc_TRACE_LEVEL at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.
# at (eval 4) line 2
# Compilation failed in require at (eval 4) line 2.
# BEGIN failed--compilation aborted at (eval 4) line 2.
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 9

解决方法

 

$ sudo perl -MCPAN -e shell
cpan> install Bundle::DBD::mysql
    /usr/bin/make  -- OK
    /usr/bin/make test -- OK
    /usr/bin/make install  -- OK
cpan> install DBD::mysql
DBD::mysql is up to date.

 

另外注意,当你以前就在服务器上跑了一个 MYSql 的话,然后设置密码后在安装这个模块,99%会失败,需要关掉 mysqld 的服务