Datenbankkonvertierung mySQL 4.x -> 5.x

  • Moin,


    ich wollte soeben ein Upgrade von WBB3 auf 4 machen, und es scheitert leider an der Datenbank.


    Erst einmal musste ich die riesige Datenbank, die ich exportiert habe, in mehrere Stücke teilen, um sie mit phpmyadmin hochzuladen. Die ersten Teile ließen sich in die neue Datenbank mit mysql 5.7 importieren, irgendwann kamen die ersten Fehlermeldungen:


    #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax


    Wenn ich das richtige sehe, muss man erstmal die ganze exportierte mysql 4.x-Datenbank-Datei nach Passagen durchsuchen, die mysql 5.x-inkompatibel sind und diese durch die adäquaten "neuen" ersetzen??Oder gibt es eine andere Lösung für mein Problem?


    Danke für eure Hilfe,
    Ralph

  • z. B.:


    SQL-Befehl:


    INSERT INTO `wbb1_1_post` (`postID`, `threadID`, `parentPostID`, `userID`, `username`, `subject`, `message`, `time`, `isDeleted`, `everEnabled`, `isDisabled`, `isClosed`, `editor`, `editorID`, `lastEditTime`, `editCount`, `deleteTime`, `deletedBy`, `deletedByID`, `attachments`, `pollID`, `enableSmilies`, `enableHtml`, `enableBBCodes`, `showSignature`, `ipAddress`, `editReason`, `deleteReason`) VALUES(76947, 322, 0, 12, 'FairyQueen', '', 'Ich lese gerade ein Buch, das vom [b]"Musée de la Vie romantique" [/b]Paris herausgegeben ist und [b]"Fréderic Chopin- la note bleue"[/b] heisst. Die Ausstellung zum 200. Jahrestag ist noch bis zum 11. Juli in Paris im Musée de la vie romantique, rue Chaptal, zu sehen und dieses Buch ist ein Kompendium aus verschiedenen Aufsätzen von Fachleuten aus Musik, Literatur und Malerei.. Ein Besuch dieses Museum ist schon allein des Ortes wegen ein Vergnügen, man fühlt sich wahrhaftig in eine andere welt zurückversetzt- fern aller Grossstadthektik.\nZwischen L[...]


    MySQL meldet: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Meine Lieben,\n\nVor kurzem kam bei [i]Walhall[/i] ein Live-Mitschnitt von der ' at line 26

  • Was hast du denn ganz genau versucht? Wenn ich das hier richtig verfolgt habe, dann musst du ja das 4er Bord installieren und dann von 3.1.8 importieren.


    Installations Fehler bei der Installation von WBB 4.1.x


    Wenn du nun gleichzeitig auf einen anderen Server mit höherer mysql Version ziehst, dann musst du erstmal dein altes 3er Bord ganz normal dort hin umziehen, dann das 4er installieren und dann die daten vom 3er ins 4er importieren.


    Was nicht geht, ist eine Datenbanksicherung vom 3er ins 4er einspielen, denn da haben sich ja Tabellen geändert.


    Und wenn deine Datenbank so groß ist, dann nutze den mysqldumper. Der teilt von selber in mehrere Files auf, so dass du da nichts selber teilen muss.

    Liebe Grüße
    Susi

  • Moin,


    bei meinem Server hat jede Datenbank ihre eigene Version. Also WBB3 ist schon drauf, die zugehörige Datenbank noch mysql 4.x.
    WBB4 ist erfolgreich auf dem gleichen Server installiert, die alte Datenbank kann aber nicht einfach so importiert werden im Administrationsbereich, weil Format zu alt.
    Also habe ich die alte Datenbank exportiert und versuche sie nun in eine neu angelegte Datenbank mit mysql 5 zu importieren, um diese dann wieder im Administrationsbereich der Woltlabsoftware zum Import auszuwählen.


    Ich bin jetzt schon auf HeidiSQL umgestiegen...

  • Hmm, bei meinem wbb2 musste ich die alte Datenbank gar nicht exportieren als ich auf mysql5 gegangen bin. Das hat der Hoster einfach umgestellt. Daher kann ich dir da leider nicht helfen, sorry.

    Liebe Grüße
    Susi

  • Ich bin jetzt mit dem Import der kompletten Datei über HeidiSQL schon weitergekommen, vielleicht hatte das Zerteilen nicht genau funktioniert. Ist jetzt bei etwas über einem Viertel und dauert sehr lange, mal schauen, was passiert...

    • Official Post

    Wenns nen Server/Webspace mit SSH-Zugang ist, dann empfiehlt es sich immer den Im-/Export per Shell zu machen.


    Fürs wieder einspielen folgenden Befehl verwenden


    Code
    mysql -uBENUTZERNAME -p'PASSWORT' DATENBANKNAME < DATEINAME.sql


    Fürs sichern:


    Code
    mysqldump -uBENUTZERNAME -p'PASSWORT' DATENBANKNAME --single-transaction > DATEINAME.sql
  • Hallo


    Ich habe nun heute morgen alles importiert, danach kamen aber noch einige Beiträge hinzu, weshalb habe ich das ganze heute nochmal gemacht habe, in der Hoffnung, dass identische Einträge überschrieben oder übersprungen werden.
    Das hat aber nicht geklappt, jetzt sind wirklich die meisten Einträge doppelt drin, und zwar exakt identisch.


    Gibt es irgendeine elegante Möglichkeit, die doppelten Einträge schnell zu beseitigen? Also dass von jedem nur noch einer drin bleibt...


    Danke im Voraus!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!