perl-mysql路径_MySQL™ 参考手册(Perl安装说明)

Perl安装说明

Perl DBI模块为数据库访问提供通用接口,你可以编写一个DBI脚本,它可以与许多不同的数据库引擎一起工作,而无需更改。要使用DBI,必须为要访问的每种类型的数据库服务器安装DBI模块以及数据库驱动程序(DBD)模块,对于MySQL,此驱动程序是DBD::mysql模块。

MySQL发行版不包含Perl支持,对于Unix你可以从http://search.cpan.org获取必要的模块,或者在Windows上使用ActiveState ppm程序,以下部分描述了如何执行此操作。

DBI/DBD接口需要Perl 5.6.0,并且首选5.6.1或更高版本,如果你有旧版本的Perl,则DBI不起作用,你应该使用DBD::mysql 4.009或更高版本,虽然早期版本可用,但它们不支持MySQL 8.0的完整功能。

在Unix上安装Perl

MySQL Perl支持要求你已经安装了MySQL客户端编程支持(库和头文件),大多数安装方法都安装了必要的文件。如果从Linux上的RPM文件安装MySQL,请务必同时安装开发人员RPM,客户端程序位于客户端RPM中,但客户端编程支持位于开发人员RPM中。

你可以从http://search.cpan.org上的CPAN(综合Perl存档网络)获取Perl支持所需的文件。

在Unix上安装Perl模块的最简单方法是使用CPAN模块,例如:

shell> perl -MCPAN -e shell

cpan> install DBI

cpan> install DBD::mysql

DBD::mysql安装运行了许多测试,这些测试尝试使用默认用户名和密码连接到本地MySQL服务器,默认用户名是Unix上的登录名,Windows上是ODBC,默认密码为“无密码”。如果无法使用这些值连接到服务器(例如,如果你的帐户有密码),则测试将失败,你可以使用force install DBD::mysql来忽略失败的测试。

DBI需要Data::Dumper模块,它可能已安装,如果没有,你应该在安装DBI之前安装它。

也可以以压缩tar档案的形式下载模块发行版并手动构建模块,例如,要解压缩并构建DBI发行版,请使用以下过程:

将发行包解压缩到当前目录:

shell> gunzip < DBI-VERSION.tar.gz | tar xvf -

此命令创建名为DBI-VERSION的目录。

将位置更改为解压缩发行包的顶级目录:

shell> cd DBI-VERSION

构建发新版并编译所有内容:

shell> perl Makefile.PL

shell> make

shell> make test

shell> make install

make test命令很重要,因为它验证模块是否正常工作,请注意,在DBD::mysql安装期间运行该命令以执行接口代码时,MySQL服务器必须正在运行或测试失败。

每当安装新版本的MySQL时,重建并重新安装DBD::mysql发行版是个好主意,这可确保正确安装最新版本的MySQL客户端库。

如果你没有在系统目录中安装Perl模块的访问权限,或者如果要安装本地Perl模块,则以下引用可能有用:http://learn.perl.org/faq/per...。

在Windows上安装ActiveState Perl

在Windows上,你应该执行以下操作以使用ActiveState Perl安装MySQL DBD模块:

打开控制台窗口。

如有必要,请设置HTTP_proxy变量,例如,你可以尝试这样的设置:

C:\> set HTTP_proxy=my.proxy.com:3128

启动PPM程序:

C:\> C:\perl\bin\ppm.pl

如果你之前没有这样做,请安装DBI:

ppm> install DBI

如果成功,请运行以下命令:

ppm> install DBD-mysql

此过程应与ActiveState Perl 5.6或更高版本一起使用。

如果无法使该过程起作用,则应安装ODBC驱动程序并通过ODBC连接到MySQL服务器:

use DBI;

$dbh= DBI->connect("DBI:ODBC:$dsn",$user,$password) ||

die "Got error $DBI::errstr when connecting to $dsn\n";

使用Perl DBI/DBD接口的问题

如果Perl报告它找不到../mysql/mysql.so模块,问题可能是Perl无法找到libmysqlclient.so共享库,你应该能够通过以下方法之一解决此问题:

将libmysqlclient.so复制到其他共享库所在的目录(可能是/usr/lib或/lib)。

修改用于编译DBD::mysql的-L选项以反映libmysqlclient.so的实际位置。

在Linux上,你可以将libmysqlclient.so所在目录的路径名添加到/etc/ld.so.conf文件中。

将libmysqlclient.so所在目录的路径名添加到LD_RUN_PATH环境变量中,有些系统使用LD_LIBRARY_PATH。

请注意,如果链接器无法找到其他库,你可能还需要修改-L选项,例如,如果链接器找不到libc,因为它位于/lib中且link命令指定-L/usr/lib,请将-L选项更改为-L/lib或将-L/lib添加到现有链接命令。

如果从DBD::mysql中收到以下错误,则可能正在使用gcc(或使用使用gcc编译的旧二进制文件):

/usr/bin/perl: can't resolve symbol '__moddi3'

/usr/bin/perl: can't resolve symbol '__divdi3'

在构建mysql.so库时将-L/usr/lib/gcc-lib/... -lgcc添加到link命令(在编译Perl客户端时检查make mysql.so的输出),-L选项应指定libgcc.a在系统上所在目录的路径名。

这个问题的另一个原因可能是Perl和MySQL都不是用gcc编译的,在这种情况下,你可以通过使用gcc编译来解决不匹配问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值