perl DBD-mysql已安装,但仍出现错误“安装驱动程序(mysql)失败:无法在@INC中找到DBD/mysql.pm”

zc0qhyus  于 2023-03-13  发布在  Perl
关注(0)|答案(6)|浏览(163)

安装信息:
使用安装在/usr/local/lib/perl 5/site_perl/5.8.9/x86_64-linux/auto/DBI/中的DBI 1.608(适用于x86_64-linux上的Perl 5.008009)
错误信息:
[root@数据中心ETL DBD-mysql-4.020]# perl../testConnect.pl安装驱动程序(mysql)失败:在@INC中找不到DBD/mysql.pm(@INC包含:/usr/本地/库/perl 5/5.8.9/x86_64-Linux /usr/本地/库/perl 5/5.8.9 /usr/本地/库/perl 5/站点_perl/5.8.9/x86_64-Linux /usr/本地/库/perl 5/站点_perl/5.8.9 .),位于(评估3)第3行。
也许DBD::mysql Perl模块还没有完全安装,或者“mysql”的大写不正确。

wi3ka0sx

wi3ka0sx1#

看起来您使用的是Linux,在这种情况下,您可能会发现安装模块的预打包版本更容易。
在RedHat衍生产品上尝试yum install perl-DBD-mysql;在Debian衍生版本上,尝试apt-get install libdbd-mysql-perl

fgw7neuy

fgw7neuy2#

可能DBD::mysql perl模块尚未完全安装
......所以安装它。

cpan DBD::mysql

或者因为你不能上网,

perl Makefile.PL
make
make test
make install

按照INSTALL,首先需要安装MySQL的开发头文件

xam8gpfp

xam8gpfp3#

任何与DBD::mysql错误相关的错误都没有完全安装。请以超级用户权限运行下面的代码。

apt-get install libdbd-mysql-perl
u0sqgete

u0sqgete4#

由于还不能发表评论,我想为Mac用户添加一些东西。我想添加--force命令来正确安装所有东西,因为我没有本地mySQL安装来通过测试。/usr/bin/cpanm --force DBD::mysql为我工作。(Mac OS 10.9.2,Perl 5.12.4)

at0kjp5o

at0kjp5o5#

我一直在尝试perl-MCPAN-e shell 在我的Mac OSX 10.8.5,但这不起作用.
我试过sudo perl -MCPAN ...,但也不起作用。我更改了我的~.bash_profile以包括

LD_RUN_PATH=/usr/local/mysql-5.6.13-osx10.7-x86_64/lib export LD_RUN_PATH 
LD_LIBRARY_PATH=/usr/local/mysql-5.6.13-osx10.7-x86_64/lib export LD_LIBRARY_PATH

行,我又尝试了-MCPAN,有和没有sudo,但这也不起作用。
我看了一些帖子,我在-MCPAN命令行中尝试了“get Bundle::DBD::mysql“来下载它并使用Makefile安装。然后,我进入~./cpan/build目录,我做了一个Makefile,但是make命令不起作用。我尝试用我刚刚在mysql中配置的--testuser--testpassword创建Makefile。我进入了./cpan/bundle的README文档中通知的站点https://discussions.apple.com/thread/3932531?start=0&tstart=0&fb_source=message,但是我已经安装了xCode的所有命令行工具,而且对我也不起作用。
为什么不做sudo perl -MCPAN -e shell和强制安装Bundle::DBD::mysql?这工作得很好,我得到了安装.

2w3kk1z5

2w3kk1z56#

我得到了完全相同的错误。实际上,这个问题来自我的Perl脚本。我使用:

'DBI:mysql:host=...'

当我把它改成

my $dsn = "DBI:MariaDB:host=$host;database=$database_name";

一切正常!
首先,我尝试安装mysql模块,正如其中一个答案所建议的:

cpan DBD::mysql

在我安装了它之后,它仍然不工作。在我的例子中,原因是我实际上使用的是MariaDb。虽然这是MySQL的一个分支,但并不完全是一回事。所以在连接字符串中更改它(从.pl文件本身)为我修复了这个问题

相关问题