PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mySQL hängt sch auf



Pingu
24.07.03, 18:29
Hi,

heute habe ich einmal ein kleines Problem und zwar, wie der Titel schon beschreibt, hängt sich mySQL bei mir ständig auf. Das ist er seit neuestem und ich weiß nicht wie ich den Fehler lokalisieren und beheben kann.

In der /var/log/mysql.log steht nix besonderes drin. Alle Aufrufe innerhalb der DB laufen normal ab.
In der /var/log/mysql.err steht:
mysqld started on Thu Jul 24 11:22:55 MEST 2003
/usr/sbin/mysqld: ready for connections

Number of processes running now: 0
mysqld restarted on Thu Jul 24 11:29:01 MEST 2003
030724 11:29:01 Can't start server: Bind on TCP/IP port: Address already in use
030724 11:29:01 Do you already have another mysqld server running on port: 3306 ?
030724 11:29:01 Aborting

mysqld ended on Thu Jul 24 11:29:01 MEST 2003
mysqld started on Thu Jul 24 11:44:36 MEST 2003
/usr/sbin/mysqld: ready for connections

Number of processes running now: 0
mysqld restarted on Thu Jul 24 11:50:07 MEST 2003
030724 11:50:08 Can't start server: Bind on TCP/IP port: Address already in use
030724 11:50:08 Do you already have another mysqld server running on port: 3306 ?
030724 11:50:08 Aborting

mysqld ended on Thu Jul 24 11:50:08 MEST 2003
mysqld started on Thu Jul 24 11:58:09 MEST 2003
/usr/sbin/mysqld: ready for connections

Number of processes running now: 0
mysqld restarted on Thu Jul 24 14:31:29 MEST 2003
030724 14:31:30 Can't start server: Bind on TCP/IP port: Address already in use
030724 14:31:30 Do you already have another mysqld server running on port: 3306 ?
030724 14:31:30 Aborting

mysqld ended on Thu Jul 24 14:31:30 MEST 2003
D.h. ich habe z.B. 11:58:09 den mySQL gestartet und es kommt ja auch "ready...". Dann später, halt 14:31:29, kommt "mysqld restartet...". Das habe ich aber nicht und wie man sieht bricht er dann ganz ab und gar nix geht mehr. Wer macht das bzw. wie finde ich raus wer das macht? Es ist zu diesem Zeitpunkt kein cron-Prozess am laufen.

Hat jemand eine Idee woran das liegt oder wie ich rausfinden kann woran das liegt?

Achso ich habe mySQL so am laufen:
1520 pts/0 S 0:00 sh /usr/bin/safe_mysqld --big-tables
1533 pts/0 S 0:00 /usr/sbin/mysqld --pid-file=/var/run/mysqld/mysqld.pid --big-tables
1535 pts/0 S 0:00 /usr/sbin/mysqld --pid-file=/var/run/mysqld/mysqld.pid --big-tables
1536 pts/0 S 0:00 /usr/sbin/mysqld --pid-file=/var/run/mysqld/mysqld.pid --big-tables

Danke und Gruß

Pingu

PS: Standard Debian mit netinstall, wobei etwas runter gestrippt, da wenig Plattenplatz.
www:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 86M 72M 9.2M 89% /
/dev/hdb1 315M 249M 49M 83% /var
PPS: Zum Zeitpunkt des Crashs ist keine Platte voll und wenn ist es eh nur die /var.

kratz00
24.07.03, 18:34
030724 14:31:30 Do you already have another mysqld server running on port: 3306 ?

da scheint wohl schon ne anwendung zu laufen?!
wird doch wohl net der mysqld sein?

Pingu
24.07.03, 18:36
Nein, ich denke mal das kommt durch den Restart. Nur ich weiß nicht woher der Restart kommen soll. Wer den veranlaßt. Ich bin es jedenfalls nicht ;)

Pingu

Doh!
24.07.03, 19:09
wenn Du glaubst, dass kein mysql mehr läuft mach mal

ps ax | grep mysqld

wenn Du dann noch was da siehst, dann läuft noch einer

Pingu
25.07.03, 07:33
Ok,

inzwischen habe ich heraus gefunden, daß "mysql_safemode" den mysqld neustartet falls er abgeschmiert sein sollte. Also der neustart kommt von mysql_safemode. Jetzt stellen sich zwei neue Fragen:

1. Wie kann ich rausfinden, warum mysqld ürsprünglich abschmiert (in der mysql.err steht ja nix drin)?
2. Warum beendet sich beim neustart der verherige mysqld nicht richtig?

@Doh!
ich weiß wie man 'ps' und 'grep' benutzt und sogar in Kombination.

Pingu

PS: ich habe jetzt mal ein "isamchk -o -e tabelle" durchgeführt. Dabei sind auch einige Fehler aufgetaucht. Vielleicht war das der Grund, daß er abgeschmiert ist.

Doh!
25.07.03, 09:03
Original geschrieben von Pingu

@Doh!
ich weiß wie man 'ps' und 'grep' benutzt und sogar in Kombination.


Wollte Dich nicht damit in Deiner Ehre kränken, habe mir nur angewöhnt immer gleich die Befehle dazu zu schreiben, weil man einfach manchmal die Befehle oder die Optionen net im Kopf hat (ich muss ja auch bei jedem Scheyß nachschaun...), ist für den anderen dann schneller und einfacher.

Pingu
25.07.03, 14:38
Ok, ich glaube ich habe das Problem gelöst, zumindest ist bisher noch kein Fehler/Absturz wieder aufgetreten.

Es waren scheinbar ein paar Datenbanktabellen defekt, die ich mir isamchk wieder repariert konnte. Wahrscheinlich hat sich wegen den defekten Tabellen dann der ganze mysqld aufgehängt (nicht immer, aber immer öfter). Das hat das Skript 'mysql_safemode' erkannt und wollte den Daemon neu starten. Dies ist jedoch schief gegangen, weil sich der alte Daemon nicht beenden lassen wollte.

Zumindest bis jetzt läuft alles wieder.

Pingu