我正在使用以下脚本来创建与我的mysql服务器的数据库连接。
my $dsn = "dbi:mysql:dbname=$dbname;$dbhost";
my $dbh = DBI->connect(
$dsn, $dbuser,
$dbpasswd,
{
PrintError => 1,
Warn => 1,
AutoCommit => 1,
ShowErrorStatement => 1
}
);
使用此连接的主脚本是一个长时间运行的脚本。在执行的某个时候,程序失败并显示错误消息。
MySQL server has gone away
我是Perl
的新手,我无法看到数据库连接的任何问题。
答案 0 :(得分:0)
请看一下这个主题:http://www.perlmonks.org/?node_id=317168
这讨论了处理“MySQL服务器已经消失”问题的方法。基本上,您需要在触发查询之前检查$dbh
的状态。
$dbh ||= DBI->connect("connection string", "username", "password");