norman: perl timeout zur mysql

Beitrag lesen

hallo,

ich habe ein "Lost connection to MySQL server during query" - problem mit active-perl 5.8.3 (dbi 1.41, dbd-mysql 2.9003), win xp prof. und mysql 4.0.18 (oder 4.1.1a).
diese fehlermeldung hängt von der bearbeitungszeit des selects des mysql-servers ab, d.h. wenn ich die db-einträge verringere, braucht der server weniger zeit zur bearbeitung und die ergebnisse werden an perl ohne probs geliefert.
wenn der mysql-server länger für die bearbeitung braucht, kappt das perl-script oder der liebe gott die connection nach ca. 30-40 sek.
die query wird vom mysql-server komplett ausgeführt (eintrag im slow query-log und im server-cache: wenn ich das perl-script nochmal starte, ist das ergebnis sofort da)

an der max_allowed_packet kanns nicht liegen, weil ich daten abhole (select) und nichts an die mysql schicke (insert...). (ich hab eh 16mb eingestellt)

hauptprog.

use db_config;

my $abfrage = 'SELECT xxx limit 0,30;';
my $db_name = 'test3';

my $dbh = db_config::getDB($db_name);

my $sth = $dbh->prepare($abfrage);
$sth->execute() or die "Error in SQL-Query";
while (my @line = $sth->fetchrow()) {
 print join("|",@line)."\n";
}

$sth->finish();
$dbh->disconnect();

db_config

package db_config;

use DBI;

$DB_HOST = "127.0.0.1";
$DB_PORT = "3306";
$DB_USER = "root";
$DB_PASSWD = "";

sub getDB {
 my $DB_NAME = shift;
 my $DB_DSN = "DBI:mysql:$DB_NAME:$DB_HOST:$DB_PORT";
 my $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD, {PrintError => 1, RaiseError => 1, AutoCommit => 0});
 return $dbh;
}

1;

hat jemend eine idee, wer das timeout erursacht? mysql_connect_timeout ist es nicht.

gruß
norman