SQL Datenbank leer .. oder auch nicht!?

mcmaurice

Ensign
Registriert
Juni 2008
Beiträge
169
Hallo allerseits,

ich musste kürzlich meinen MySQL Server neu aufsetzen und ein Backup einspielen, welches ich mit phpmyadmin gemacht habe. Hätte ich geahnt welche Probleme mir das beschert dann hätte ich das sicher mit nem mysql dump erledigt aber hab ich nunmal nicht und nun spinnt die Datenbank ...

Konkreter gehts hier um die Datenbank von meinem XBMC Mediencenter, das läuft zentral über meinen Hauptrechner. Das Problem ist nun, es gab beim einpflegen des Backups diverse Fehlermeldungen und ich musste die Datenbank zig mal wieder droppen, ich habe dann im Endeffekt XBMC die Datenbank neu anlegen lassen und nur die alten Datensätze mühsam einzeln (table für table) wieder importiert. Das hat irgendwie dann auch geklappt und alles schien mir soweit in Ordnung zu sein, nach einem Neustart allerdings habe ich nun das Problem, dass XBMC auf die Einträge nicht mehr zugreifen kann (ging vor dem neustart). Ebenfalls zeigt phpmyadmin auch nichts mehr an für die Datenbank, weder die Struktur noch die Einträge. Erst wenn ich manuell oben bei den recent tables zb die tabelle "xbmc_video75"."movie" auswähle sehe ich dann dass die Struktur irgendwie doch vorhanden ist. Will ich dann die Einträge über "Browse" anschauen zeigt der Mauscursor ein großes rotes X und sagt, dass keine Einträge vorhanden sind ... klicke ich dann auf Browse werden die Einträge aber ganz normal gelistet.

Ich vermute nun, dass die XBMC Datenbank irgendwie keine ID's oder so hat und deswegen immer als leer angezeigt wird ... die anderen Datenbanken die ich ebenfalls gebackupt hatte (zb eine wordpress installation) funktionieren einwandfrei ...

Wie kann ich das Problem beheben?
 
Was sagt denn das reine Dateisystem zu dem Problem? Evtl. hast du auf Dateisystem-Ebene bereits irgendwo einen Schluckauf. Ich bin grad in Windows und kann nicht gucken, wo der Kram genau liegen sollte, aber meiner Meinung nach /var/lib/mysql/... oder sowas.
Datenbanken sind Ordner, Tabellen sind Dateien. Je nach Tabellen-Engine sieht die Datei-Struktur etwas anders aus.
 
also ich benutze xampp (1.8.1) und ich vermute mal, dass die daten in "C:\Program Files (x86)\XAMPP\mysql\data" lagern, dort sind zumindest im ordner "xbmc_video75" dateien gelagert die den tables vom namen her entsprechen ... allerdings auch dateien die ich nicht zuordnen kann ... mit den endungen kann ich auch nix anfangen. beispiel:

"tvshow.frm" "tvshow.TRG" : zwei einträge mit unterschiedlichen endungen zur gleichen table
"delete_episode.TRN" : datei die ich nicht zuordnen kann

die meisten dateien sind im .frm format, manche tables haben zusätzlich ne datei mit der endung .trg


ich habe grad auch das logfile gefunden und das enthielt folgende zeilen:
Code:
InnoDB: The first specified data file C:\Program Files (x86)\XAMPP\mysql\data\ibdata1 did not exist:
InnoDB: a new database to be created!
130324 16:03:45  InnoDB: Setting file C:\Program Files (x86)\XAMPP\mysql\data\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...

dabei ist die datei "ibdata1" nun 43 MB groß ... kann das problem damit zusammenhängen, dass manche tables extrem viele einträge haben? zb die table "actors" enthält ca 25.000 einträge ...

ich kann auch in phpmyadmin ganz normal sql befehle ausführen und aus allen möglichen tables daten auswählen ... es wird nur eben ansonsten angenommen, dass die datenbank leer ist ....
 
25k isn Witz.

http://dev.mysql.com/doc/refman/5.1/de/table-maintenance-sql.html
Das könnte dir hier helfen, wenn du so oder so SQL-Befehle auf die Tabellen anwenden kannst. N paar ANALYZE & REPAIR können hier Wunder wirken. Bei InnoDB könnte es z.B. einfach sein, dass da irgendwo noch ne Transaktion als nicht abgeschlossen markiert ist (z.B. weil der Server unsauber herunter gefahren wurde, oder durch deinen Einspiel-Murks) und die Tabelle deshalb total spinnt.
 
ok ich habe die Datenbanken mal mit mysqlcheck überprüft und es kam folgendes ergebniss:

mysqlcheck.jpg


was hat das nun zu bedeuten bzw was kann ich nun machen?
 
Hallo,

kann es sein, dass Du nicht nur die Paydata von XBMC eingespielt hast sondern auch alte Verwaltungsdaten von MySQL und daher MySQL da etwas durcheinander kommt?
 
Mal ne Frage: Du hast doch alle DB-Dumps noch, oder?
Dann mach doch XAMPP frisch drauf und importier die Dumps am besten per Kommandozeile (mysqladmin -u user -p pass database < dump.sql)
Da sollte dir dann myPhpAdmin nicht zwischenreinfunken...
Ich denke, das wird die einfachste Lösung sein.
 
Zurück
Oben