MySQL produziert nach Update 4->5 Deadlocks

MySQL, PostgreSQL, SQLite
theomega
Userprojekt
Userprojekt
Posts: 704
Joined: 2003-01-27 14:36

MySQL produziert nach Update 4->5 Deadlocks

Post by theomega » 2006-04-21 22:21

Hallo Leute,
ich habe folgende Situation:
Ich habe gerade meine Datenbank von MySQL 4.1 auf MySQL 5 geupdatet. Habe meine Konfiguration erstmal unverändert gelassen (siehe weiter unten) und einfach den mysql-server neugestartet. Ging alles unproblematisch und die Version hat auch nacher gestimmt. Probleme traten nach ca. 5 Minuten auf: Der Server hat mit den üblichen MAX_CONNECTIONS den Betrieb verweigert. Ein Blick in die Process-Liste hat ein komisches ergebniss gegeben:
Ein INSERT in eine MyISAM-Tabelle mit STATE="update" und danach 100erte SELECTS auf eben diese Tabelle mit dem STATE="Locked". Aus irgendeinem Grund wird das INSERT nicht fertig und macht somit alles andere kaputt.
Das Problem tritt immer wieder auf, also nach jedem Restart. Auch mit der Standart-Debian-Konfiguration kommt es zu dem Fehler. Die Tabellen bei denen das Problem auftreten variieren. Ich setzte überhaupt keine Lock's oder Transactions ein, überlasse das alles dem MySQL-Server. Client-Anwendung ist ein PHP-Forum.

Hardware-Probleme kann ich ausschließen, es lief schließlich auf MySQL4.1 alles Problemlos. Die Festplatte ist auch nicht voll, das habe ich als erstes geprüft.

Konfiguration:

Code: Select all

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "/var/lib/mysql/my.cnf" to set server-specific options or
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking

old_passwords   = 1

key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 128K

query_cache_limit       = 1048576
query_cache_size        = 16777216
query_cache_type        = 1

log-bin                 = /var/log/mysql/mysql-bin.log
expire-logs-days        = 20
max_binlog_size         = 104857600

skip-bdb

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 16M

#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the ndbd storage daemons,
# not from the ndb_mgmd management daemon.
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
Wer hat mir einen Tipp?

Danke
TO

theomega
Userprojekt
Userprojekt
Posts: 704
Joined: 2003-01-27 14:36

Re: MySQL produziert nach Update 4->5 Deadlocks

Post by theomega » 2006-04-22 00:14

So, nach einem Downgrade auf 4.1 zurück funktioniert alles wieder. Allerdings hat mir das meine INNODB-Tabellen zerschossen, gut das ich davon Backups hatte die ich mit einiger Mühe wiederherstellen konnte.

Ich habe folgende Vermutung: Ich habe ein AMD64-Debian im Einsatz. Das scheint sich einfach mit dem MySQL zu beißen. Ist nicht das einzige Paket das Probleme damit hat und auf X86 problemlos läuft. Das AMD64 von Debian ist wirklich keine Glanzleistung.
Sollange ich also keine andere Dist auf dem Server habe lass ich von dem MySQL5 lieber die Finger. Und ich empfehle anderen Leuten mit AMD64 das gleiche zu tun oder vorher es auf einem ähnlichen System auszuprobieren.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: MySQL produziert nach Update 4->5 Deadlocks

Post by isotopp » 2006-04-22 17:40

Hast Du das Binlog eingeschaltet? Dann wird sich das Debian 64 Bit Binary weghängen, wenn das Binlog gewechselt wird.

5.0.20a hilft hier.

theomega
Userprojekt
Userprojekt
Posts: 704
Joined: 2003-01-27 14:36

Re: MySQL produziert nach Update 4->5 Deadlocks

Post by theomega » 2006-04-22 17:41

Hallo,
der Fehler trat sowohl bei aktivierten alsauch bei deaktivierten log-bin auf.

Gruß
TO