Twitter Subscribe to PHP Blog RSS Feed Email RSS

安装用于测试MySQL的Perl模块

添加评论 2009年8月20日
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明

在我使用Webmin(version 1.480)管理FreeBSD主机上的MySQL数据库服务器时出现:

“警告:您的系统未安装Perl 模块 DBI 和 DBD::mysql,Webmin将无法可靠地访问您的MySQL数据库。点击此处 立刻安装该它们。”

而“点击此处”安装时浏览器无法打开此链接,访问到MySQL手册上的相关资料在其它类Unix系统中安装MySQL,提示“如果安装了DBI和DBD::mysql Perl模块,可以使用bin/mysql_setpermission脚本增加新账户。”

再查找“Perl安装注意事项”获取到相关的信息是:
“MySQL分发版不包含Perl支持。可以从http://search.cpan.org获得Unix需要的模块,或在Windows中使用ActiveState ppm程序。
如果你想要运行MySQL基准脚本,必须安装Perl支持。
如果你想要安装Perl支持,需要的文件能从http://search.cpan.org的CPAN (Comprehensive Perl Archive Network)获得。”

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时提示:
“Warning (usually harmless): ‘YAML’ not installed, will not store persistent state”

YAML是以数据为中央的标记语言,其使用ASCII码(如连字符、问号、冒号、逗号等)构造数据块(标量值或哈希码)。和XML相同,YAML也是一种机器可识别语言,并能和多种脚本语言相结合,其中一种便是Perl。

考虑到YAML也可以当做是一个Perl模块,因此我尝试运行:
cpan> install YAML
成功安装后,刷新Webmin页面,只提示 DBD::mysql 没有安装了,此时 Webmin 已经可以执行DBD::mysql模块的安装了:

正在下载 http://www.cpan.org/modules/02packages.details.txt.gz (794409 字节) ..
收到 1024 字节 (0 %)
收到 79872 字节 (10 %)
收到 159744 字节 (20 %)
收到 238592 字节 (30 %)

但我还是采用手册上提供的方式安装 DBD::mysql

接着安装DBD::mysql时出现错误提示:

Running make install

make test had returned bad status, won’t install without force
Failed during this command:
CAPTTOFU/DBD-mysql-4.012.tar.gz : make_test NO

于是按要求执行:
cpan> force install DBD::mysql
成功完成安装

补记:MySQL基准套件

通过基准用户可以了解一个给定的SQL实现在哪方面执行得很好或很糟糕。这个基准是单线程的,它可以测量操作执行的最小时间。

要使用基准套件,必须满足下面的要求:

基准套件随MySQL源码分发提供。可以从http://dev.mysql.com/downloads/下载分发,或者使用当前的开发源码树

基准脚本用Perl编写而成,使用Perl DBI模块访问数据库服务器,因此必须安装DBI。还需要为每个待测试的服务器提供服务器专用DBD驱动程序。例如,要测试MySQL、PostgreSQL和DB2,必须安装DBD::mysql、DBD::Pg和DBD::DB2模块。

评论