免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: hyq_111
打印 上一主题 下一主题

perl新手询问:perl程序里头怎么访问远程一台机器的MYsql数据库 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-11-30 15:41 |只看该作者
当然我是把mysql和dbd装到了一台机器上

论坛徽章:
0
12 [报告]
发表于 2006-11-30 15:49 |只看该作者
请能说的详细点吗?

论坛徽章:
0
13 [报告]
发表于 2006-11-30 17:14 |只看该作者
是mysql的开发包

我在redhat上装的mysql5,所以用的MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm

你要找对应版本的,其实一般的linux光盘上都有的,除非你想用新的

如果还不行的话就装:
MySQL-client-standard-5.0.27-0.rhel4
MySQL-shared-standard-5.0.27-0.rhel4


再不行的话就。。。。。。。。。。

论坛徽章:
0
14 [报告]
发表于 2006-11-30 18:00 |只看该作者
呵呵. 学了快一个月的perl了. 正在写用perl读写mysql的后台程序. 感觉用起来比较顺手了.

看来楼主读的资料还不多. 继续学学在写程序.

[ 本帖最后由 yszll 于 2006-11-30 18:03 编辑 ]

论坛徽章:
0
15 [报告]
发表于 2006-11-30 19:32 |只看该作者
恩,要继续学习

论坛徽章:
0
16 [报告]
发表于 2006-11-30 19:49 |只看该作者
现在情况是,我在编译 BDB-mysql-3.0008模块的时候,报下面的错误:

Can't locate DBI/DBD.pm in @INC (@INC contains: /opt/glite/lib/perl5 /opt/gpt/lib/perl/i386-linux-thread-multi /opt/gpt/lib/perl /opt/gpt/lib/perl/i386-linux-thread-multi /opt/gpt/lib/perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at Makefile.PL line 23.

论坛徽章:
0
17 [报告]
发表于 2006-11-30 20:33 |只看该作者
已经装上了,但在安装DBD-mysql的时候,make test没过去,现在是当我运行这个程序的时候:
#!/usr/bin/perl -w
use strict;
use DBI;
#定义数据库名称;
my $database_name = "cngridagentlevel;host=159.226.49.53";
# 定DBI联接语句;
my $database ="dbi:mysql:dbname=$database_name";
#定义用户名、口令;
my $db_user = "globus";
my $db_password = "123456";
### 连接.
my $dbh=DBI->connect($database,$db_user,$db_password) or die "can't connect!";
if ($dbh)
{
print "mysqlconnect ok!\n";
print "my $dbh->port();\n";
}
else
{print "mysqlconnect false!\n";
}
##$dbh=DBI->disconnect;
整个程序就停顿了不退出,这是为什么?,

论坛徽章:
0
18 [报告]
发表于 2006-12-01 11:10 |只看该作者
我想测试一下我的DBD-Mysql是否安装成功,但为什么报这个错?
[root@jsi DBD-mysql-3.0008]# perl -MDBD -e1
Can't locate DBD.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 .).
BEGIN failed--compilation aborted.

还请各位一定帮看看

论坛徽章:
0
19 [报告]
发表于 2006-12-01 11:14 |只看该作者
perl -MDBD::mysql -e1

# cat /opt/mydb.pl

  1. #!/usr/bin/perl

  2. use DBI;

  3. my $dbh = DBI->connect("DBI:mysql:mysql",,) or die "can not connect to db\n";
  4. my $sth = $dbh->prepare("SELECT * FROM user");

  5. $sth->execute;

  6. while(my @row = $sth->fetchrow_array()) {
  7.         print @row,"\n";
  8. }

  9. $sth->finish();
  10. $dbh->disconnect;

复制代码

# perl /opt/mydb.pl
localhostrootYYYYYYYYYYYYYYYYYYYYYYYYYY0000
hellrootYYYYYYYYYYYYYYYYYYYYYYYYYY0000
hellrootNNNNNNNNNNNNNNNNNNNNNNNNNN0000
localhostNNNNNNNNNNNNNNNNNNNNNNNNNN0000

[ 本帖最后由 dajun 于 2006-12-1 11:15 编辑 ]

论坛徽章:
0
20 [报告]
发表于 2006-12-01 16:53 |只看该作者
再麻烦一下,现在我想测试一下是否能连上另一台主机的mysql数据库,那台主机的IP为159.226.49.53端口为3306,数据库名为agentlevel,用户名和密码都为test
我自己写了一段测试的代码,如下,但一运行就整个停顿在那里,不退出,也没有任何输出,只能强行退出,所以求救这里的达人,谁能帮我解决这个问题,谢谢了先!
#!usr/bin/perl -w
use strict;
use DBI;
#定义数据库名称;
my $database_name = "agentlevel;host=159.226.49.53;port=3306";
# 定DBI联接语句;
my $database ="dbi:mysql:dbname=$database_name";
#定义用户名、口令;
my $db_user = "test";
my $db_password = "test";
### 连接.
my $dbh=DBI->connect($database,$db_user,$db_password) or die "can't connect!";
if ($dbh)
{
print "mysqlconnect ok!\n";
print "my $dbh->port();\n";
}
else
{print "mysqlconnect false!\n";
}
##$dbh=DBI->disconnect;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP