[Problem] ibdata1 viel zu groß

Hallo!

Folgendes Problem: Auf einem Webserver ist die ibdata1 ~60GB groß, dadurch ist die Partition voll und ich kann den mysql-Daemon nicht neu starten. Dadurch kann ich aber auch nicht über phpMyAdmin o.ä. nach schauen welche Tabelle überhaupt mit InnoDB gespeichert sind, natürlich kann ich auch die Datenbank nicht neu aufsetzen weil ich keine tables dropen kann ohne laufenden mysql-Daemon ... [ERROR] Can't start server: can't create PID file: No space left on device

Gibt es irgendeine Möglichkeit hier noch etwas zu retten oder 'einfach' mal das idbdata1-file verschieben und dann schauen ob sich MySQL neu starten lässt?
 
hast du bei dir daheim ein Testsystem, wo der gesamte /var/lib/mysql-Ordner drauf passt?

Wenn ja: dann versuch mal, das gesamte Verzeichnis herunter zu laden (auch wenn es Stunden bis Tage dauern kann), bei dir lokal den MySQL-Server mit diesem Verzeichnis zu füttern und zu schauen, welche Tabelle so groß ist...
 
Danke für die Antwort!

Ich habe jetzt folgendes gemacht: Die ibdata1 auf eine andere Partition verschoben, runterladen hätte wohl wirklich Tage gedauert :rolleyes: und mysql neu gestartet.

Es sind fast alle Tabellen MyISAM, nur ein paar Tabellen von typo3-Extensions (eines der CMS die auf dem Server laufen) hatten InnoDB als Engine. Ohne diese ~60 GB funktioniert auch alles, diese paar Tabellen sind halt jetzt leer. Da hatte ich nochmal Glück im Unglück, dass keine wichtigen Tabellen auf InnoDB gesetzt haben.

Jetzt kann ich mir dann in Ruhe nochmal alle confs usw. anschauen, aber zumindest ist wieder alles erreichbar und der Server nicht mehr down weil kein mysql rennt.
 
wenn du die Datei jetzt auf 'ner anderen Partition hast, kannst du ja auch mal nen Symlink nach /var/lib/mysql machen - dann hast du die Daten wieder und kannst schauen, wo der Übeltäter steckt.
 
Danke nochmals ... habe ich dann sowieso gemacht und was die DB so zugemüllt hat war mir von Anfang an klar: indexed_search Extension von typo3. Die hat mehrere Tabellen die alle zwischen 5-10 GB groß sind und nachdem sich die ibdata1 von MyISAM automatisch aufbläht aber selbst bei regelmäßiger "Reinigung" der Datenbank nicht schrumpft kam es zu diesem Brocken von Datenbankdatei obwohl die Tabellen für sich eh "nur" ein paar GB haben.
 
Es sind fast alle Tabellen MyISAM, nur ein paar Tabellen von typo3-Extensions (eines der CMS die auf dem Server laufen) hatten InnoDB als Engine. Ohne diese ~60 GB funktioniert auch alles, diese paar Tabellen sind halt jetzt leer. Da hatte ich nochmal Glück im Unglück, dass keine wichtigen Tabellen auf InnoDB gesetzt haben.

Ich rate Dir, die Tables von der MyISAM Engine verwalten zu lassen. 1. Macht InnoDB bei deinen Typo Sites sicherlich keinen Nutzen aus und 2. ist die Zukunft der InnoDB Engine in der freien MySQL Version fraglich. 3. Ist eine InnoDB fucking pain in the ass bei nem crash.

In den allermeisten Fällen ist InnoDB obsolet.
 
InnoDB bietet aber noch die bessere Performance als MyISAM, vor allem wenn man mit großen Indexes zu tun hat und nicht auf Volltext-Indexes angewiesen ist.
 
Zurück
Oben