install_driver(mysql)失败:找不到DBD / mysql.pm

问题描述 投票:0回答:1

问题没有重复,首先阅读我面临的问题,然后标记它是否重复,如果重复我的问题帮助我解决我的问题会有所帮助,因为我已经通过其他提到的所有链接和解决方案类似的问题和问题,但没有运气。

我试图在我的ec2-aws-instance上使用以下链接设置redmine git

https://docs.bitnami.com/installer/how-to/configure-advanced-integration-git-redmine/

我能够正确地将redmine项目与我的git存储库连接,但是当我在上面的链接上达到第三步时,我面临的问题如下

步骤: - 3配置Git访问控制

以下是尝试使用redmine用户凭据保护我的git存储库时的错误。

[Thu Feb 21 17:46:26.918619 2019] [perl:error] [pid 26820:tid 139790464616192] [client 127.0.0.1:50156] install_driver(mysql)failed:无法在@INC中找到DBD / mysql.pm( @INC包含:/opt/bitnami/git/lib/site_perl/5.16.3 /opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi /opt/bitnami/perl/lib/5.16.3 /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi /opt/bitnami/perl/lib/site_perl/5.16.3 /opt/bitnami/perl/lib/5.16.3/x86_64 -linux-thread-multi /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi /bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3/x86_64 -linux-thread-multi /bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3 /bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3/x86_64-linux-thread -multi /bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3./ opt / bitnami / apache2)在(eval 6)第3行。\ n或许DBD :: mysql perl模块还没有完全安装,\或者也许'mysql'的大写不正确。\ n可用的驱动程序:DBM,ExampleP,File,Gofer,Proxy,Sponge。\ n at /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/Redmine.pm line 557. \ n App 26921标准:

如果没有第三步,我的存储库是公共的,任何知道repo url的人都可以克隆我的存储库或在我的git存储库上执行其他操作。所以第三步是出于安全目的,按照上面的文档链接,这对我来说很重要。

根据提到的文档,我将以下行添加到apache配置中,当我尝试克隆存储库时,我的bitnami日志中出现上述错误

 <Location "/">
       AuthType Basic
       AuthName "Redmine git repositories"
       Require valid-user

       PerlAccessHandler Apache::Authn::Redmine::access_handler
       PerlAuthenHandler Apache::Authn::Redmine::authen_handler
       RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=installdir/mysql/tmp/mysql.sock"
       RedmineDbUser "REDMINE_DB_USERNAME"
       RedmineDbPass "REDMINE_DB_PASSWORD"
       RedmineGitSmartHttp yes
     </Location>

当我运行以下命令克隆一个repo时,没有第三步文档,我可以正确克隆repo,但是第三步我失败并在日志中出现上述错误并在命令行上面出现错误。

[email protected]:/tmp$ git clone http://git.domain.com/test2
Cloning into 'test2'...
fatal: unable to access 'http://git.domain.com/test2/': The requested URL returned error: 500

我甚至试过安装下面的包但没有运气

sudo apt-get install libdbd-mysql-perl

我的操作系统是

Ubuntu 16.04.5 LTS \n \l
mysql git perl ubuntu redmine
1个回答
0
投票

为了使Perl安装与MySQL数据库通信,它需要使用DBD :: mysql模块。此模块不是标准Perl安装的一部分,需要单独安装。当您使用CPAN命令行工具(cpan DBD::mysql)或使用apt-getapt-get install libdbd-mysql-perl)安装它时,它将安装在系统Perl(作为操作系统的一部分安装的库)使用的库目录中。您可以通过运行以下命令来确认已正确安装:

$ perldoc DBD::mysql
$ perl -MDBD::mysql -le'print $DBD::mysql::VERSION'

如果正确安装了DBD :: mysql,第一个命令将显示模块的文档,第二个命令将给出版本号。

但是,正如我所说,这是安装供系统Perl安装使用的。从错误消息中可以看出您的Bitnami安装未使用系统Perl。相反,它使用安装在/opt/bitnami中的单独Perl安装。

因此,您需要在模块库中安装DBD :: mysql以进行此Perl安装。有可能要求cpan在不同的目录中安装模块,但我对将内容安装到Bitnami的目录树中时要小心。我强烈怀疑在此过程的早期阶段已经跳过安装步骤。如果Bitnami需要从Perl程序中使用MySQL并安装自己的Perl发行版以及自己的模块库,那么它应该在其安装中包含DBD :: mysql,或者提供有关如何安装它的明确说明。

我的建议是仔细检查Bitnami的安装说明,看看他们对安装MySQL支持的看法。如果这不起作用,你应该把这个问题带到Bitnami的支持渠道。

© www.soinside.com 2019 - 2024. All rights reserved.