PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysqldump läßt sich nicht einlesen



MannOhMann
05.07.05, 09:37
Das Dumpfile wurde mit folgenden Optionen erzeugt:
mysqldump -qQ -u user -ppass --opt --all-databases > db20050705.sql

Restoreversuch schlägt aber fehl:
mysql -u user -ppass < db20050705.sql
ERROR 1064 at line 11: You have an error in your SQL syntax near '-1062505950' at line 1

besagte Zeile 11 (die 1. zu verarbeitende) lautet:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ Mambo-1062505950;

wo ist das Problem hier?

marce
05.07.05, 10:00
wenn's die DB schon gibt auf dem Zielsystem, dann füge mal beim Dump noch ein --no-create-db hinzu, alternativ kannst solltest Du den db-Namen auch quoten...

alterpinguin
05.07.05, 10:09
Das Dumpfile wurde mit folgenden Optionen erzeugt:
mysqldump -qQ -u user -ppass --opt --all-databases > db20050705.sql

Restoreversuch schlägt aber fehl:
mysql -u user -ppass < db20050705.sql
ERROR 1064 at line 11: You have an error in your SQL syntax near '-1062505950' at line 1

besagte Zeile 11 (die 1. zu verarbeitende) lautet:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ Mambo-1062505950;

wo ist das Problem hier?

-n|--no-create-db
'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will not be
put in the output. The above line will be added otherwise, if
--databases or --all-databases option was given.

vielleicht hättest Du damit den dump erzeugen sollen, ich weiss aus dem Kopf auch nicht ob mysql überhaupt databases anlegen kann, ich nehme dazu mysqladmin. Unterschied database <=> table (in den databases) ?

dazu gilt ähnliches für die tables. Da gibt es z.B. ein "drop" mit anschliessendem "create" damit die table wirklich leer und neu ist. Wenn die database vorher nicht gelöscht wurde muss selbst ein mögliches create dann einen Fehler bringen.

@marc, sorry hatte Deinen Post noch nicht gesehen, hätte ich mir sparen können.

marce
05.07.05, 10:11
was auch helfen kann (gerade bei den create dbs) ein -f damit er sql-Fehler überspringt - ist aber auch riskant...

MannOhMann
05.07.05, 12:54
alternativ kannst solltest Du den db-Namen auch quoten...

diese option habe ich im man nicht gefunden, wahrscheinlich wäre das die lösung

temir
05.07.05, 13:05
Der DB-Name ist etwas unglücklich gewählt: "-" wird als Teil des SQL Befehls
ausgewertet. Ein DBname_Nummer wird keine Probleme verursachen.
Das mit den 'reserved keywords' ist schon eine Geschichte an sich...

PS: hat jemand versucht, einen MySQL-User 'lang' anzulegen? :ugly: