Fehler beim Hochladen von Dumps

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

musste in den letzten Tagen wieder mal einige Onlinedatenbanken pflegen.

Das mache ich so, dass ich auf meinem lokalen Server die Änderungen in der Datenbank vornehme, dann mithilfe von 'mysqldump' einen Dump erzeuge und diesen dann mit dem mysql-Kommando hochlade (Details, s. unten).

Dabei erhalte ich nun (anders als "früher") folgende Fehlermeldung:
Code:
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' at line 16

Diese würde ich gerne loswerden.

Die Fehlermeldung wird verursacht von folgendem Teilen (fett) des dumpfiles, der nach jeder Tabelle kommt:
Code:
--
-- Table structure for table `pauschalen`
--


DROP TABLE IF EXISTS `pauschalen`;
CREATE TABLE `pauschalen` (
[... Felddefinitionen ausgelassen]
) ENGINE=MyISAM AUTO_INCREMENT=11 [b]DEFAULT CHARSET=latin1[/b];

Lokal habe ich hier die MySQL Versionen "mysql Ver 14.12 Distrib 5.0.24a, for apple-darwin8.5.1 (i686) using readline 5.0" und "mysqld Ver 4.1.11-standard for apple-darwin7.8.0 on powerpc (MySQL Community Edition - Standard (GPL))" am Laufen.
Auf dem Server meines Hosters läuft "Server version 4.0.21-Max-log"
Die Dumps vom Server kann ich lokal ohne weiteres einlesen, nur umgekehrt gehts nicht.

Die Dumps erzeuge ich lokal folgendermaßen:
Code:
mysqldump -u [i]user[/i] -p [i]datenbankname tabellen[/i] > dumpfile
Das Hochladen mach ich normal immer so:
Code:
mysql -h [i]mydomain.de[/i] -u [i]user[/i] -p  [i]datenbankname [/i] < dumpfile
Man könnte das auch in einem Schritt machen, aber dann habe ich kein backup.
 
Okay, ich hab' die Lösung selbst gefunden.

Bei mysqldump kann man eine Option '--skip-opt' angeben, die einige der Optionen unterdrückt, mit denen ältere MySQl Server nichts anfangen können, u.a. die o.g. "DEFAULT CHARSET"-Angabe.
 
Zurück
Oben Unten