MySQL Backup lesen

Hallo Ihr Wisser,

ich habe hier einen backup einer MySQL-Datenbank (xxx.sql), etwa 6MB groß, den ich gern lesen würde, ohne lokal MySQL zu installieren und zu lernen. Ich kann die Datei mit einem Editor öffnen, nur zum Lesen ist sie viel zu groß und unübersichtlich. Kann ich die Datei irgendwie handhaben?

System: Xubuntu Linux 11.04

Danke für alle Antworten,

Felix

Hallo Felix,

ich habe hier einen backup einer MySQL-Datenbank (xxx.sql),
Kann ich die Datei irgendwie handhaben?

Kannst Du bitte mal genauer erklären, was Du mit „irgendwie handhaben“ meinst? Du willst ja kein MySQL installieren und nur als Abendlektüre ist so eine MySQL-Datei nicht besonders spannend :wink:

Viele Grüße
Marvin

Hallo Marvin,

ich habe hier einen backup einer MySQL-Datenbank (xxx.sql),
Kann ich die Datei irgendwie handhaben?

Kannst Du bitte mal genauer erklären, was Du mit „irgendwie
handhaben“ meinst? Du willst ja kein MySQL installieren und
nur als Abendlektüre ist so eine MySQL-Datei nicht besonders
spannend :wink:

Doch, sehr. Das ist das Backup eines Forums, in dem Streit über angeblich verschickte PNs herrscht. Die PNs gibt es nicht (mehr?), aber vielleicht sind sie in den Backups.

Cheers, Felix

Hallo Felix,
naja, wenn Du unbedingt möchtest :wink: Es gibt natürlich viele verschiedene Wege, deine PNs zu suchen. Du kannst die Datei mit less „durchblättern“

less deineDatei.sql

Geh entweder in eine Konsole (z.B. STRG+ALT+F2) und gib dort das Kommando ein, oder mach dein Terminal ganz gross (nur wegen der Übersichtlichkeit).
Da kann man auch bequem suchen, lies entweder die man-Page von less, oder das hier:
http://wiki.ubuntuusers.de/less
Wenn Du schon markante Begriffe aus der Datei kennst, kannst Du auch gleich mit grep danach suchen (wieder

man grep

oder http://wiki.ubuntuusers.de/shell/grep
Bei entsprechendem Einsatz der Optionen

-A NUM, -B NUM oder -C NUM

lässt sich schon allerhand erreichen. Wenn Du dann noch reguläre Ausdrücken verwenden kannst/willst, sind die gesuchten Sachen eigentlich recht flott gefunden.
Ist zwar ein unorthodoxer Weg, aber warum nicht?

Viele Grüße
Marvin

1 Like

Hallo Marvin,

Danke für die Mühe!

Na ja, ich habe ja die PNs, und kann sie auch mit jedem Texteditor lesen. Es sind aber etwa 10000 Stück, und teilweise recht lang, und von sehr wenigen Nutzern. Die Nachrichten selbst im Klartext, aber User-id etc. natürlich nur als Zahlen,

Beispiel:

INSERT INTO fwforum_privatenachrichten (pnid,uid,toid,fromid,recipients,folder,subject,icon,message,dateline,deletetime,status,statustime,includesig,smilieno,receipt,readtime) VALUES (‚1‘,‚1‘,‚1‘,‚4‘,‚a:1:{s:2:„to“;a:1:{i:0;s:1:„1“;}}‘,‚1‘,‚Testbeitrag‘,‚0‘,‚Langer Nachrichtentext‘,‚1299346096‘,‚0‘,‚3‘,‚1299346237‘,‚0‘,‚0‘,‚2‘,‚1299346211‘);

Vielleicht verwende ich mal ein bisschen Fantasie, um den sql-Code in ein csv zu verwandeln. Dann kann ich das in einer Tabellenkalkulation ordnen. Schöner wär es, wenn irgendein Programm diese Sachen automatisch „richtig“ lesen könnte.

Cheers, Felix

Hallo Felix,

Danke für die Mühe!

Bitte sehr, aber Mühe war das nun nicht gerade.

Schöner wär es, wenn irgendein
Programm diese Sachen automatisch „richtig“ lesen könnte.

Naja, mindestens ein Programm kann das ja, MySQL :wink:
So richtig verstehe ich nicht, warum Du dich so beharrlich weigerst, MySQL zu installieren, und sei es nur kurz für diesen Zweck. Das ist im Prinzip eine Befehlszeile und dann kannst Du im Nu alle Datenfelder sortieren, gruppieren, auslesen, extrahieren, was immer Du möchtest.

Viele Grüße
Marvin

1 Like

Hallo Marvin,

So richtig verstehe ich nicht, warum Du dich so beharrlich
weigerst, MySQL zu installieren, und sei es nur kurz für
diesen Zweck. Das ist im Prinzip eine Befehlszeile und dann
kannst Du im Nu alle Datenfelder sortieren, gruppieren,
auslesen, extrahieren, was immer Du möchtest.

Na gut, habe ich jetzt mal gemacht, und jetzt muss ich mich in MySQL einarbeiten ;(

Mal sehen, was daraus wird.

Cheers, Felix

Hallo Felix,

Na gut, habe ich jetzt mal gemacht, und jetzt muss ich mich in
MySQL einarbeiten ;(

Ok, ich habe inzwischen dein erstes Posting genauer gelesen und begriffen, warum Du nicht wolltest. Deshalb ein anderer Vorschlag, der mit weniger Lernaufwand verbunden ist. MySQL hast Du ja inzwischen, da kannst Du folgendes machen:
importiere deine sql-Datei

mysql -u username -p 
wobei username der ist, den Du in MySQL eingerichtet hast, er muss also nicht identisch mit deinem Linux-Usernamen sein. Gleiches gilt für das Passwort, daß durch die Option -p angefordert wird. Ich weiss nicht, ob es in Ubuntu noch so ist, aber ein neuinstalliertes MySQL hatte immer einen schon eingerichteten User **root ohne Passwort** , so daß Du die Frage nach dem Passwort einfach mit Return beantworten kannst.
Wenn das funktioniert (oder auch schon vorher), installierst Du noch phpMyAdmin. Das kannst Du dann in deinem Browser über
http://localhost/phpmyadmin/
aufrufen. Einloggen und Passwort wie gehabt. Links hast Du dann eine Auswahl deiner Datenbanken (dürfte naturgemäß noch keine lange Liste sein :wink:. Daraus wählst Du deine eben frisch importierte DB, die dann in einem neuen Fenster erscheint. Oben aus der Leiste "Exportieren" wählen, und siehe da, schon kannst Du u.a. als Exportformat auch csv-Datei auswählen.
http://www.file-upload.net/view-3660921/felix.jpg.html
Bei neueren phpmyadmin-Versionen kann es sein, daß Du erst eine Option "erweitert" oder "Experte" o.ä. auswählen musst, bevor Du diese vielen Exportmöglichkeiten zu sehen bekommst, weil da als Standard nur SQL angeboten wird.

Viele Grüße
Marvin
1 Like

Hallo Marvin,

danke, auf phpmyadmin hätte ich (als MOD im PHP-Brett) auch selbst kommen können :wink:

Ich habe also MySQL installiert, eine Datenbank erstellt, meinen backup eingespielt.

Weiter habe ich mit MySQL-Navigator gemacht (simpler als phpmyadmin), da kann ich, wenn ich die SELECT-Syntax nachschlage, auch auf die PNs zugreifen und sie als csv abspeichern.

Also: Problem soweit gelöst.

Cheers, Felix