MySQL4 inkompatibilität

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von gett, 30.07.2006.

  1. gett

    gett Grünschnabel

    Dabei seit:
    30.07.2006
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo,
    ich bin hier seit einiger Zeit am kämpfen...

    Ich habe eine Datenbank in einer MySQL - 4.1.20-standard (Prot. 10) Version und die möchte ich nun in meine MySQL - 4.0.24_Debian-10sarge2-log (Prot. 10) importieren.
    Leider gibt es hierbei Kompatibilitätsprobleme.

    Fehler wie zum Beispiel:
    Code:
    #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 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=138' at line 26 
    oder
    Code:
    #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 '"status" int(11) NOT NULL default '0',
    haben mich stutzig gemacht und da habe ich etwas gegooglet und herausgefunden, dass es ein kompatibilitätsproblem ist.

    Nun ist die Frage welche SQL-Export-Kompatibilität ich nehmen muss. MySQL40 oder 323 funktionieren zwar beim Import, aber es gibt dann leider Fehler in der Funktionsweise (wenn etwas in die Datenbank/Tabellen geschrieben wird)

    Kann mir da jemand weiterhelfen?

    PS: Ich hab' ja erst an updaten gedacht, aber wo ich dann gelesen habe, dass das unter Umständen ziemlich schwierig werden kann, hoffe ich, dass es auch ohne geht.

    MfG
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Update lieber. Mit diesen Inkompatibilitaeten wird es noch viel schwieriger als ein Datenbank-Update. Das ist naemlich total simpel. Und ich weiss aus Erfahrung, wie problematisch es wird, wenn du versuchst 4.1er-Datenbanken in einer 4.0er MySQL einzuspielen. Da werden Sonderzeichen und Umlaute nicht uebernommen, manche Datentypen sind garnicht da usw. usf. Daher einfach wie folgt updaten:

    1. Daten sichern.
    2. alte MySQL vollstaendig deinstallieren
    3. Binary-Version von MySQL passend fuer dein System von dev.mysql.com downloaden.
    4. den runtergeladenen Tarball entpacken, das entstandene Verzeichnis nach /usr/local verschieben und nach /usr/local/mysql verlinken
    5. /etc/my.cnf anlegen
    6. cd /usr/local/mysql && groupadd mysql && useradd -g mysql mysql
    7. chown -R root:mysql /usr/local/mysql
    8. cp support-files/mysql.server /etc/init.d/
    9. scripts/mysql_install_db --user=mysql --datadir=<dein_datadir_aus_der_my.cnf>
    10. /etc/init.d/mysql.server start
    11. mysqladmin -u root password 'deinneuespasswort'

    Danach einfach nur die Datenbanken einspielen und fertig. Alternativ kannst du die Datenbank auch einfach replizieren, wodurch beide Server absolut identische Daten enthalten. Eine Anleitung dazu habe ich unter http://www.hackerwiki.org/index.php/Datenbank-Replikation_mit_MySQL veroeffentlicht.
     
Thema:

MySQL4 inkompatibilität