upgrade 3.1.2 -> 3.2.1 | MySQL server has gone away at

swaesch

Registered User
upgrade 3.2 -> 3.2.1 nicht 3.1.2->3.2.1 | MySQL server has gone away at

Hallo,

bin gerade dabei ein Update auf 3.2.1 einzuspielen.

Leider bekomme ich eine ganze reihe von Mysql fehlern.

Vor und nach der Ausführung des updates läuft Mysql.


Code:
.......
......
....
DBD::mysql::st execute failed: MySQL server has gone away at ./db_update.pl line 1465.
DBD::mysql::db do failed: MySQL server has gone away at ./db_update.pl line 1474.
DBD::mysql::st execute failed: MySQL server has gone away at ./db_update.pl line 1480.
DBD::mysql::st execute failed: MySQL server has gone away at ./db_update.pl line 1489.
DBD::mysql::st fetchrow failed: fetch() without execute() at ./db_update.pl line 1490.
DBD::mysql::db do failed: MySQL server has gone away at ./db_update.pl line 1501.
DBD::mysql::db do failed: MySQL server has gone away at ./db_update.pl line 1506.
DBD::mysql::db do failed: MySQL server has gone away at ./db_update.pl line 1507.
DBD::mysql::db do failed: MySQL server has gone away at ./db_update.pl line 532.
Undefined subroutine &main::soft_error called at ./db_update.pl line 532.
 
Last edited by a moderator:
Das Update ist von 3.2 auf 3.2.1


532:

Code:
sub fix_frontpage {
	unless($bin_fpsrvadm && -x $bin_fpsrvadm){ 
		my $sql = "UPDATE allgemein SET frontpageadd = 0, frontpagedel = 0, frontpagepw = 0 WHERE server_id='$ServerID'";
532 ->		$dbh->do( $sql ) or 
			&soft_error("Error exequte sql: $sql\nDBI::errstr\n");
	}
}

1465:
Code:
  ## 2.0.11
  $dbh->do( "UPDATE admin SET hostname = '$hostname', business = 0, postconf=1 WHERE server_id='$ServerID'");
	$sth = $dbh->prepare("SELECT COUNT(*) FROM bdefault WHERE server_id='$ServerID'");
	my $cnt = 0;
1465->	if( $sth->execute() ){
		($cnt) = $sth->fetchrow;
		$sth->finish();
		if( $cnt > 1 ){
			$dbh->do( "DELETE FROM bdefault WHERE server_id='$ServerID'" );
			$cnt = 0;
		}
	}

1489+1490
Code:
  $sth = $dbh->prepare ( "SELECT phpmyadminpfad FROM admin WHERE server_id='$ServerID'" );
1489->  $sth->execute;
1490->  $path = ($sth->fetchrow())[0];
  if ( $path =~ /^\.\.\/[^\.][^\.]/ ){
    $dbh->do ( "UPDATE admin SET phpmyadminpfad = CONCAT( '../', phpmyadminpfad ) WHERE server_id='$ServerID'" );
  }


Nur mal so zum Beispiel. Alle Stellen enthalten eine Form von:

$dbh->do
$sth->execute
$sth->fetchrow
 
Last edited by a moderator:
Hallo,

welche Werte von 'wait_timeout' hat deine Mysql Server ?
( suchen Sie bitte in my.cnf oder `mysqld --help | grep -i wait_timeout)
 
Ein:

Code:
mysqld --verbose --help | grep -i wait_timeout

bringt mir folgendes:

Code:
  --innodb_lock_wait_timeout=# 
  --table_lock_wait_timeout=# 
  --wait_timeout=#    The number of seconds the server waits for activity on a
innodb_lock_wait_timeout          50
table_lock_wait_timeout           50
wait_timeout                      28800


Muss dazu sagen, dass ich folgende mysql Version installiert habe:

Code:
confixx:~# mysqld -V
mysqld  Ver 5.0.22-Debian_4-log for pc-linux-gnu on i486 (Debian etch distribution)
 
Last edited by a moderator:
Back
Top