Tom: LAMPP Testsystem: MySQL startet nicht mehr

Hello,

ich habe hir einen Windows XP Host, auf dem ein Xampp lief.
Es wurden erfolgreich kleine Datenbanktools für eine MySQL-DB getestet, soll heißen, sowohl der Apache als auch MySQL liefen.

Nachdem es Probleme mit Windows gab, wurde dies einfach neu installiert (es sind jetzt zwei Installatione drauf) und sämtliche Software auch. Die Daten wurden beibehalten.

Mit Ausnahme von MySQL funktioniert bisher auch alles.

wenn ich MySQL aus der Konsole starte, erhalte ich diese Konsolenmeldungen:

C:\PROGRA~1\xampp>mysql_start.bat
Diese Eingabeforderung nicht waehrend des Running beenden
Please dont close Window while MySQL is running
MySQL is trying to start
Please wait  ...
MySQL is starting with mysql\bin\my.cnf (console)
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
090701 11:17:34  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
090701 11:17:35  InnoDB: Started; log sequence number 0 46409
090701 11:17:35 [ERROR] Fatal error: Can't open and lock privilege tables: Incorrect key file for ta
ble 'user'; try to repair it

MySQL konnte nicht gestartet werden
MySQL could not be started
Drücken Sie eine beliebige Taste . . .
C:\PROGRA~1\xampp>

Lässt sich da nun noch etwas reparieren, oder wird man das MySQL vollständig wegputzen müssen?
Wäre schade drum, weil noch einige Testdaten und Funktionen gesichert werden sollten...

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
  1. Hi!

    090701 11:17:35 [ERROR] Fatal error: Can't open and lock privilege tables: Incorrect key file for table 'user'; try to repair it
    Lässt sich da nun noch etwas reparieren, oder wird man das MySQL vollständig wegputzen müssen?
    Wäre schade drum, weil noch einige Testdaten und Funktionen gesichert werden sollten...

    Es sind erstmal nur die Benutzertabellen angemosert worden. Diese liegen in der Datenbank mysql. Wenn du diese erstmal erneuerst und dann die Daten testest ...

    Das Erneuern könnte so gehen:

    • MySQL neu installieren, alle Dateien außer den mysql-Dateien aus dem alten Datenverzeichnis ins neue kopieren, hochfahren, testen.
    • von einer Neuinstallation die mysql-Dateien aus dem Datenverzeichnis in das der alten Installation kopieren, hochfahren, testen.
    • MySQL unter Umgehung des Privilegsystems hochfahren (--skip-grant-tables). Damit könntest du an die Daten rankommen (ist zumindest ein Versuch wert). Wenn die noch in Ordnung sind, bekommst du die aber auch mit der ersten Variante angesprochen.

    Keine Gewähr (/ Erfahrung) auf InnoDB-Tabellen, MyISAMs sind pflegeleichter.

    Lo!

    1. Hello,

      Keine Gewähr (/ Erfahrung) auf InnoDB-Tabellen, MyISAMs sind pflegeleichter.

      Das ist es eben. Dafür liefern sie eben ein paar Features, die MyISAM nicht hat.

      Wir hatten so schön gebastelt mit InnoDB und es war spät geworden...
      Statt das gleich noch in der Nacht zu sichern, sind wir nach Hause gegangen
      Am nächsten Morgen hat der Rechner dann gezickt.

      Schaun wir mal, ob Deine Tipps zum Ziel führen :-)

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Hello,

      sieht so aus, dass man an die Daten noch heran kommt.

      C:\PROGRA~1\xampp>mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone --console --skip-gr
      ant-tables
      InnoDB: The log sequence number in ibdata files does not match
      InnoDB: the log sequence number in the ib_logfiles!
      090701 11:58:15  InnoDB: Database was not shut down normally!
      InnoDB: Starting crash recovery.
      InnoDB: Reading tablespace information from the .ibd files...
      InnoDB: Restoring possible half-written data pages from the doublewrite
      InnoDB: buffer...
      090701 11:58:15  InnoDB: Started; log sequence number 0 46409
      090701 11:58:15 [ERROR] Cannot open mysql.db
      090701 11:58:15 [ERROR] Cannot open mysql.user
      090701 11:58:15 [ERROR] Event Scheduler: An error occurred when initializing system tables.
      090701 11:58:15 [Note] mysql\bin\mysqld: ready for connections.
      Version: '5.1.33-community'  socket: ''  port: 3306  MySQL Community Server (GPL)

      Und über eine zweite Konsole ist der mysql-Client nun startbar und ein Zugriff zumindest auf die MyIASM-Tabellen möglich.

      Wo zum Teufel liegen aber die "ib_logfiles"?
      Ich kann auf der ganzen Platte nichts finden.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Wo zum Teufel liegen aber die "ib_logfiles"?
        Ich kann auf der ganzen Platte nichts finden.

        Moment sind da nicht die letzten Änderungen gespeichert? Liegt das nicht direkt in der Datenbank? Wenn mich nicht alles täuscht?!

    3. Hello,

      ich habe das jetzt so hingefriemelt, dass ich an die wesentliche DB wieder herankomme *plumps*

      Also DB-Files gesichert, ganzen Xampp deinstalliert (hatte ich doch glatt vergessen, die VirtHosts zu sichern ...) und dann neu draufgebügelt.

      Dann klappt der Zugriff wieder.

      Aber für den Ernstfall muss ich das nochmal durchspielen. Auf dem Linux-Host muss ich hoffentlich nur die mysql-DB austauschen dafür. Aber da ist mir das auch noch nie passiert.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de