DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16067
Location: Reichenberg bei Würzburg

|
Posted:
2005-09-20, 16:11 FAQ - Duplicate entry-Error |
  |
Warum erhalte ich einen Duplicate-Entry-Fehler, wenn ich ein Backup eines MySQL-Servers 3.x auf einem MySQL-Server 4.,x einspielen möchte?
Es gibt neue Sprachkonventionen.
Als Beispiel:
in MySQl-Version 3.x sind die Einträge "gruen" und "grün" eindeutig unterschiedlich.
In Version 4.x gibt es aber eine, ich nenne das mal Ähnlichkeitserkennung, und "gruen" und "grün" ist als gleichwertig anzusehen.
MySQL findet so bei einer Abfrage mit LIKE gleichklingende Einträge, was unter 3.x noch nicht funktionierte. Das führt zu den Problemen bei Einträgen in Tabellen, wenn diese Felder als Schlüssel benutzt werden.
Dies ist bei einer Boardsoftware fast immer der Fall, da hier eigene Suchlisten generiert werden, welche Suchwörter aufnimmt. Erfahrungsgemäß ist das auch die größte Tabelle der Datenbank - deshalb die vielen Fehlermeldungen.
Die meisten Programme sind bisher noch nicht auf diesen neuen Umstand ausgerichtet und so ist es bisher normal, dass bei einem neuen MySQL-Server Fehler (Duplicate entry = doppelter Eintrag) gemeldet werden.
Im Laufe der Zeit werden die Programmierer dem neuen Umstand Rechnung tragen und solche Felder nicht mehr als Primärschlüssel verwenden.
Es handelt sich also strenggenommen nicht um einen Fehler, sondern um eine kleine Inkompatibilät der Datenbankstruktur der Software zum neuen MySQL-Server.
Du kannst diese Duplicate-Entry-Fehler also beruhigt ignorieren. Die Daten werden trotzdem eingetragen und alles funktioniert normal.
Lösung bis MySQLDumper-Version 1.20
Damit MySQLDumper auch mit dem Abarbeiten des Dumps weitermacht, musst Du in der Konfiguration die Fehlerbhandlung von "anhalten" auf "fortfahren und Fehler protokollieren" stellen. Nach Abschluß des Einspielens sollte man sich das Fehlerprotokoll einmal zu Gemüte führen und Nachschauen, ob es noch andere Fehler als "duplicate entry" gibt.
Wir haben darauf reagiert::
Seit Version 1.21 werden "duplicate entry"-Meldungen vom Dumper nicht mehr als Fehler gewertet und nur noch als Hinweis in das Logfile geschrieben. So kann man beim Lesen des Logfiles und bei der Ausgabe am Bildschirm während des Wiederherstellungsprozesses echte Fehler von Hinweisen optisch gut unterscheiden.
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
Last edited by DSB on 2006-01-08, 03:25; edited 4 times in total
|
|