请教DBI连接数据库的问题

hiller1 2016-11-25 11:25:54
#!/usr/bin/perl -w

use DBI;
my $dsn = "DBI:mysql:database=test;host=192.168.154.2:3306";
my $user = 'admin';
my $password = '123456';
my ($dbh,$sth,@ary,@ary2);
$dbh = DBI->connect($dsn,$user,$password);

sub get_slave_status {
$sth = $dbh->prepare("show all slaves status;");
$sth->execute();
@ary = $sth->fetchrow_array();
$sth->finish;
}

sub get_version {
$sth = $dbh->prepare("select version();");
$sth->execute();
while(@ary2 = $sth->fetchrow_array()){
print join("\t",@ary2),"\n";
$sth->finish;
}
}

get_slave_status();
while(@ary){
print join("\t",$ary[0],$ary[34]),"\n";

if($ary[34] < 60){
print "同步正常\n";
}
elsif($ary[34] eq "NULL"){
print "同步报错\n";
}
else{
print "同步延迟超过2小时!!!";
print `date`;
get_version();
}
}
$dbh->disconnect;


现在执行代码后,一直不退出,死循环了。

请大家帮忙看看,谢谢!

...全文
360 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧