sokrates
Goto Top

MySQL Datenbank wird nicht kopiert

Hallo,
ich habe gerade ein ziemlich großes Problem, das ich leider nicht beheben kann. Ich werde versuchen es anschaulich zu erklären:

Zuerst habe ich mit Joomla ein CMS auf einem "Server A" (ich benenne die Server nun einfach mal so) eingerichtet und in der dazugehörigen Datenbank "speicher" abgespeichert. Der Provider verfügt über einen vorinstallierten PhpMyAdmin-Zugriff.

Daraus habe ich dann über "Exportieren" den gesamten SQL-Code kopiert und in die Datenbank "db" auf "Server B" eingefügt. Das Joomla lief danach fehlerfrei. Alles wurde optimal kopiert.

Nun kommen wir zu meinem Problem: Diese beiden Server waren Freehoster, die zwar halbwegs schnell waren, jedoch mit Werbung vertreten waren. Ich bin selbst bei einem kostenpflichtigen örtlichen privat-Hoster, der auch PHP und MySQL unterstützt und anbietet, da gibt es aber ein Problem:
Dieser "Server C" hat keinen PhpMyAdmin-Zugriff und so kam ich dann auf MySQL-Dumper, womit ich auch schön auf die Datenbank zugreifen kann. Joomla war übrigens auch in der Lage, eine Verbindung zur Datenbank herzustellen und ist auch mit dieser verbunden.
Kopiere ich nun den SQL-Code von den anderen Servern über MySQL-Dumper auf den "Server C", liefert dieser mir seitenlange Fehlermeldungen á la Syntaxfehler und ähnlichen. Die Tabellen werden erstellt, jedoch sind diese leer.

Auf "Server B" habe ich aber eine neue Datenbank "test" erstellt, um zu überprüfen, ob der kopierte SQL-Code fehlerhaft war, da lief dann aber wieder alles optimal.

Ich wollte nun fragen, ob das irgendwie damit zusammenhängt, dass ich bei den anderen Servern PhpMyAdmin genutzt habe, was der neue so an sich nicht anbietet und es auch nicht richtig funktioniert, wenn ich es nachträglich installiere. Komprimierung etc. beim Export ist alles das gleiche gewesen, was vorher schon in der "problematischen" Datenbank eingestellt war.

Hatte jemand vielleicht ähnliche Probleme oder weiß einer vielleicht Rat?
Es handelt sich hierbei um eine Firmenseite, daher brauche ich Eure Hilfe so schnell es geht face-smile

Content-ID: 134726

Url: https://administrator.de/contentid/134726

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

perseues
perseues 29.01.2010 um 23:41:41 Uhr
Goto Top
Hallo,

kenn mich mit MySQL jetzt nicht aus, aber es sind in beiden Systemen identische MySQL Versionen und Datenbankengines Installiert/vorhanden?

Grüße P
maretz
maretz 30.01.2010 um 08:28:13 Uhr
Goto Top
Moin,

ich würde die Fehlermeldung mal genau angucken. Gerne vergessen die Entwickler z.B. die Sonderzeichen wie " mittels Escape-Zeichen ungültig zu machen. D.h. deine Datenbank meint dann das der Textteil da zuende wäre und glaubt dahinter wäre nen neuer Befehl -> und kotzt dir das ganze dann vor die Füße!

Grad wenn du unterschiedliche Systeme für den Ex- und Import nutzt wird das gern auftauchen (der eine macht z.B. immer ein 'feldname', der andere erwartet da irgendwas anderes,...). Von daher würde ich versuchen alles mit demselben DBMS zu machen...
Sokrates
Sokrates 31.01.2010 um 06:59:13 Uhr
Goto Top
Zitat von @perseues:
Hallo,

kenn mich mit MySQL jetzt nicht aus, aber es sind in beiden Systemen identische MySQL Versionen und Datenbankengines
Installiert/vorhanden?

Grüße P

Ich müsste eben mal schauen, wo ich das vergleichen kann ;)
Sokrates
Sokrates 31.01.2010 um 07:00:56 Uhr
Goto Top
Kannst du mir vielleicht nochmal erklären wie genau du das mit dem Escape-Zeichen meintest?
Über die gleiche Datenbank kann ich es leider nicht laufen lassen, da der Hoster, wo momentan die Datenbank drauf ist, sehr viel Werbung hat (square7.ch) und dazu halt noch eine Subdomain. Bei dem anderen habe ich halt noch eine Top-Level-Domain.
maretz
maretz 31.01.2010 um 11:33:43 Uhr
Goto Top
Moin,

also im endeffekt ganz einfach: Nehmen wir an du hast in der Datenbank stehen "Das "ABC" ist ganz schön lang"

Beim Export kann es passieren das dein Programm daraus etwas wie
Das \"ABC\" ist ganz schön lang
macht -> damit es mit dem Import auch wieder hinhaut:

insert into (...) values ("Das \"ABC\" ist ganz schön lang")

würde funktionieren. Dumm nur das es auch passieren kann das dein Programm beim Export keinen \ davor macht - weil es sich erst beim
Import darum kümmert, weil es den Import-String anders aufbaut oder warum auch immer. Dann nimmt dein neues Programm folgenden String

insert into (...) values ("Das "ABC" ist ganz schön lang")

und dabei knallt es dann gewaltig! Denn jetzt meint deine DB das der String nur aus "Das " besteht - dahinter kommt ja nen Anführungszeichen welches den String beendet. Und was das DBMS jetzt mit ABC anfangen soll weiss es natürlich nicht - also raus mit ner Fehlermeldung und den ganzen Kram schnell vergessen!

Hier hilft es am besten wenn du für den Export und den Import dasselbe System verwendest. Im Zweifel installier dir halt PHPMyAdmin auf beiden Servern und mache es darüber...
Sokrates
Sokrates 31.01.2010 um 18:05:30 Uhr
Goto Top
Danke dir schonmal für die Erklärung. Also PhpMyAdmin liefert merkwürdige Fehler, wenn ich es auf dem neuen Server installiere, ich werde es dann aber mal so ausprobieren. Einzeln abändern kann ich die Befehle nicht, da das Seitenlange Codes sind ;)