PERL DBI 自动重连问题

来源:互联网 发布:淘宝哪个男装店好 编辑:程序博客网 时间:2024/05/17 07:10
[root@wx03 mojo]# cat relink.pl use Mojolicious::Lite;use JSON qw/encode_json decode_json/;use Encode;no strict;no warnings;use JSON;use POSIX;use JSON::RPC::Client;use Data::Dumper;use DBI;# /foo?user=sri`my %hash=();my $dbUser='DEVOPS';my $user="root";my $passwd="R00t,uHagt.xx";my $dbh  = DBI->connect("dbi:mysql:database=$dbUser;host=127.0.0.1;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr;get '/api/relink' => sub{  my $c = shift;  my @arr2=();   my $env = $c->param('env');  my $hostSql = qq{select ip,info,env from publish_info where env='$env';};my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);my $selStmt = $dbh->prepare($hostSql);$selStmt->execute();$selStmt->bind_columns(undef, \$a1, \$a2,\$a3);while( $selStmt->fetch() ){print "\$a1 is $a1\n";print "\$a2 is $a2\n";print "\$a3 is $a3\n";push (@arr2, "$a1  $a2  $a3" );  };  $c->render(json =>  \@arr2);};app->start;[root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test["1.1.1.1  aa  test"]停止数据库,启动数据库[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test[][root@wx03 ~]# 代码报错:Server available at http://127.0.0.1:3000$a1 is 1.1.1.1$a2 is aa$a3 is test$a1 is 1.1.1.1$a2 is aa$a3 is testDBD::mysql::st execute failed: Lost connection to MySQL server during query at /root/mojo/relink.pl line 25.DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26.DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27.DBD::mysql::st execute failed: MySQL server has gone away at /root/mojo/relink.pl line 25.DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26.DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27.没有自动重连

0 0
原创粉丝点击