2011-02-23 90 views
1

试图在Windows 7Perl的DBD :: mysql的 - 安装冲突

安装Perl模块,DBD::mysql从Windows命令行执行我

perl -MCPAN -e 'install DBD::mysql' 

其中下载并解压缩文件 - 然后给了我这个错误:

CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.018.tar.gz 

Set up gcc environment - 3.4.5 (mingw-vista special r3) 
C:\PROGRA~1\MySQL\MYSQLS~1.1\bin\MYSQLA~1.EXE: connect to server at 'localhost' 
failed 
error: 'Access denied for user 'ODBC'@'localhost' (using password: NO)' 
Problem running C:\PROGRA~1\MySQL\MYSQLS~1.1\bin\MYSQLA~1.EXE - aborting ... 
Warning: No success on command[C:\Perl\bin\perl.exe Makefile.PL INSTALLDIRS=site 
] 

猜测的问题是,MySQL的root用户有一个密码,但什么是不CLEA r是我如何解决问题。

问题,反馈,请求 - 只是评论,谢谢!

---------- UPDATE(1): RE:强制安装DBD :: mysql的

cpan> force install DBD::mysql 
Running install for module 'DBD::mysql' 
Running make for C/CA/CAPTTOFU/DBD-mysql-4.018.tar.gz 
    Has already been unwrapped into directory C:\Perl\cpan\build\DBD-mysql-4.018-A 
1T8Uh 
    'C:\Perl\bin\perl.exe Makefile.PL INSTALLDIRS=site' returned status 256, won't 
make 
Running make test 
    Make had some problems, won't test 
Running make install 
    Make had some problems, won't install 
+1

?您在安装部分(http://search.cpan.org/~capttofu/DBD-mysql-4.018/lib/DBD/mysql.pm#INSTALLATION)中尝试过哪些文档没有工作? – 2011-02-23 17:17:48

+0

@Robert P:谢谢,那有效 - 将它作为答案发布,随时将我的笔记重新发布为答案,我将删除我的答案,并选择您作为答案。再次,谢谢! – blunders 2011-02-23 18:29:45

+0

很高兴工作! – 2011-02-24 18:37:07

回答

2

继“Robert P”评论后,我检查了安装指南installing DBD::MySQL in ActivePerl on Win32;在64,但似乎并不重要。该做的工作

命令:

您使用Perl的Windows上什么厂商
ppm install DBD::mysql 
+0

你应该说你正在使用哪个版本的Perl:ActivePerl或StrawberryPerl。 – dolmen 2011-02-24 21:48:08

+0

@dolmen:隐藏的视线是20-20 ......甚至不知道ActivePerl或StrawberryPerl在做一些不同的事情;另外,请注意,其中一个答案中没有提到有关其解决方案的任何内容,不适用于ActivePerl,或者仅适用于XYZ。 – blunders 2011-02-24 22:06:56

1

我已经在过去得到全面的唯一方法是强制安装。它总是感觉像一个闪光,但我一直没能找到更好的方法。

打开一个CPAN命令:

perl -MCPAN -e 'shell' 

然后做一个强制安装

force install DBD::mysql 

退出让你背出了壳。

+0

谢谢,在CPAN会话期间尝试“强制安装DBD :: mysql” - 并且它不起作用。我已经在“更新(1)RE:强制安装DBD :: mysql”下的问题描述中发布了输出 - 如果有什么我做错了,请让我知道。谢谢! – blunders 2011-02-23 18:04:37

2

在其他平台上,构建过程运行mysql_config命令以获取有关mysql安装的必要信息,而无需用户和密码;在win32上,如果你有一个mysql_config命令,你必须用--mysql_config yourpathname参数明确告诉Makefile.PL。如果你不这样做,它会查找mysqladmin程序并使用它的位置来尽可能多地确定它,但运行mysqladmin version来获取mysql版本。您可以提供一个用户/密码,以便能够使用--testuser和--testpassword参数来执行Makefile.PL。

1

为YSTH说,也许试试这个:

cd C:\Perl\cpan\build\DBD-mysql-4.018-A 

和运行

perl Makefile.PL --testuser validuser --testpassword validpassword 

,然后尽量让 - 做试验 - 让安装在Windows 或其等价物

+0

在cpan shell中'look DBD :: mysql'会取出并解压缩发行版,并将其放在解压缩的目录中的命令提示符下 – ysth 2011-02-23 18:24:53

+0

aha,不知道,很高兴学习一个新的技巧! – knb 2011-02-23 20:32:21