尝试在Windows 7上安装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用户有密码,但我不清楚的是我如何解决这个问题。
问题,反馈,请求 - 只是评论,谢谢!!
---------- 更新(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
答案 0 :(得分:2)
在其他平台上,构建过程运行mysql_config命令以获取有关mysql安装的必要信息,而无需用户和密码;在win32上,如果你有一个mysql_config命令,你必须使用--mysql_config yourpathname
参数显式告诉Makefile.PL。如果不这样做,它会查找mysqladmin程序并使用其位置尽可能多地确定,但运行mysqladmin version
以获取mysql版本。您可以使用--testuser和--testpassword参数为Makefile.PL提供用户/密码,以便能够执行此操作。
答案 1 :(得分:2)
跟进“Robert P”评论,我检查了installing DBD::MySQL in ActivePerl on Win32的安装指南; 64岁,但似乎并不重要。
完成这项工作的命令是:
ppm install DBD::mysql
答案 2 :(得分:1)
我过去唯一能解决这个问题的方法是强制安装。它总是像一个小屋,但我找不到更好的方式。
打开一个CPAN shell:
perl -MCPAN -e 'shell'
然后执行强制安装
force install DBD::mysql
退出让你退出shell。
答案 3 :(得分:1)
正如ysth所说,也许试试这个:
cd C:\Perl\cpan\build\DBD-mysql-4.018-A
并运行
perl Makefile.PL --testuser validuser --testpassword validpassword
然后尝试制作 - make test - make install, 或其在Windows上的等价物