Hi,
I upgraded a few weeks ago to perl-DBD-mysql-4.011 and
mysql-server-5.0.45 and whet used to work doesn't work anymore. Whenever
the server restarts or times out connections, the automatic reconnection
doesn't occur. I am left with the dreaded 'MySQL server has gone away'
message.
I upgraded to perl-DBD-mysql-4.012 witn no success. This little code
snippet shows the problem :
#!/usr/bin/perl
#
use strict;
use DBI;
use DBD::mysql;
#
my $dsn = "DBI:mysql:database=dinfo;host=localhost:mysql_server_prepare=1";
my $dbh = DBI->connect ($dsn, 'dinfo', 'password', {'RaiseError' => 1});
die "Unable to connect to database : $Mysql::db_errstr\n" unless $dbh;
$dbh->{'mysql_auto_reconnect'} = 1;
for (my $i = 0; $i < 1000; $i++) {
warn scalar localtime, " auto_reconnect = $dbh->{mysql_auto_reconnect}\n";
my $sql = qq{select nom from dinfo.sciper where sciper = '105640'};
my $sth = $dbh->prepare ($sql);
$sth->execute ();
my ($name) = $sth->fetchrow;
warn "name = $name\n";
sleep 10;
}
I launch this, restart the server between the first and second
iteration and gets this :
Wed Jul 15 15:23:00 2009 auto_reconnect = 1
name = LECOMMANDEUR
Wed Jul 15 15:23:10 2009 auto_reconnect = 1
DBD::mysql::db prepare failed: MySQL server has gone away at ./testdb1
line 15.
DBD::mysql::db prepare failed: MySQL server has gone away at ./testdb1
line 15.
Yes, twice.
Am I doing something wrong ?
Claude.
--
Claude Lecommandeur claude.lecommandeur@stripped
EPFL - PL-DIT - KIS +41 21 6932297
1015 Lausanne (Switzerland) http://slpc1.epfl.ch/public/Claude.html
This signature intentionally left boring.
| Thread |
|---|
| • perl-DBD-mysql-4.012 doesn't autoreconnect | Claude Lecommandeur | 15 Jul |