Seite 1 von 1

Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 12:54
von kulli
Hallo,

hab so ziemlich alles durchprobiert aber die Datenbank lässt sich nicht widerherstellen:
Fehler
SQL-Befehl:

# # Struktur der Tabelle 'randshop_artikel' # CREATE TABLE `randshop_artikel` ( `id` int(11) unsigned NULL auto_increment, `artikel_nr` varchar(30) NULL, `variante1` int(10) unsigned NULL DEFAULT '0', `variante2` int(10) unsigned NULL DEFAULT '0', `variante3` int(10) unsigned NULL DEFAULT '0', `variante4` int(10) unsigned NULL DEFAULT '0', `preis_alt_netto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_alt_brutto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_netto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_brutto` decimal(12,2) unsigned NULL DEFAULT '0.00', `mwst` int(10) unsigned NULL DEFAULT '0', `timestamp` timestamp NULL DEFAULT 'CURRENT_TIMESTAMP' on update CURRENT_TIMESTAMP, `aktiv` smallint(1) unsigned NULL DEFAULT '0', `lager` int(5) NULL DEFAULT '0', `wie_oft_bestellt` int(6) NULL DEFAULT '0', `angebote` int(6) NULL DEFAULT '0', `merkmalauswahl` tinyint(1) unsigned NULL DEFAULT '0', `kundengruppenprei[...]

MySQL meldet: Dokumentation
#1067 - Invalid default value for 'timestamp';

vielleicht hat ja noch jemand ne Idee, wie es zu importieren ist:
Unbenannt.png

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 13:01
von mmaass
Da gibt es Versionskonflikte bei PHPMyAdmin.
Da müsstest den timestamp raus nehmen und nachträglich wieder einfügen.

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 13:01
von kulli
und wie mach ich das?

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 13:43
von kulli
Und wenn ich die datenbank per install widerherstelle und danach das backup importieren will kommt folgendes:

Unbenannt.png

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 17:07
von kulli
jetzt hab ichs noch mit mysqldumper probiert:

MySQL-ERROR
MySQL meldet:
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 '(14) , `aktiv` smallint(1) unsigned NULL DEFAULT '0', `lager` int(5' at line 25

Fehler bei der Anfrage:
CREATE TABLE `randshop_artikel` ( `id` int(11) unsigned NULL auto_increment, `artikel_nr` varchar(30) NULL, `variante1` int(10) unsigned NULL DEFAULT '0', `variante2` int(10) unsigned NULL DEFAULT '0', `variante3` int(10) unsigned NULL DEFAULT '0', `variante4` int(10) unsigned NULL DEFAULT '0', `preis_alt_netto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_alt_brutto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_netto` decimal(12,2) unsigned NULL DEFAULT '0.00', `preis_brutto` decimal(12,2) unsigned NULL DEFAULT '0.00', `mwst` int(10) unsigned NULL DEFAULT '0', `timestamp` timestamp NULL DEFAULT 'CURRENT_TIMESTAMP' on update CURRENT_TIMESTAMP, `aktiv` smallint(1) unsigned NULL DEFAULT '0', `lager` int(5) NULL DEFAULT '0', `wie_oft_bestellt` int(6) NULL DEFAULT '0', `angebote` int(6) NULL DEFAULT '0', `merkmalauswahl` tinyint(1) unsigned NULL DEFAULT '0', `kundengruppenpreis` tinyint(1) unsigned NULL DEFAULT '0', `merkmalkombination` int(10) unsigned NULL DEFAULT '0', `merkmalkombinationparentid` int(10) unsigned NULL DEFAULT '0', `merkmalkombinationsort` int(10) unsigned NULL DEFAULT '0', `merkmalkombinationstandard` int(10) unsigned NULL DEFAULT '0', `produktgruppe` int(5) NULL DEFAULT '0', `gewicht` decimal(12,2) unsigned NULL DEFAULT '0.00', `voe_datum` date NULL DEFAULT '0000-00-00', `hersteller_id` int(11) unsigned NULL DEFAULT '0', `startseitenangebot` tinyint(1) unsigned NULL DEFAULT '0', `aktuellartikel` tinyint(1) NULL DEFAULT '0', `lieferstatus` int(10) unsigned NULL DEFAULT '0', `artikel_download` int(10) NULL DEFAULT '0', `ean` varchar(50) NULL, `image_language_independent` tinyint(1) unsigned NULL DEFAULT '0', `download_language_independent` tinyint(1) unsigned NULL DEFAULT '0', `gruppenartikel` smallint(1) unsigned NULL DEFAULT '0', `giveaway` tinyint(1) NULL, `giveaway_min_bestellwert` decimal(12,2) NULL DEFAULT '0.00', `giveaway_rabattprozent` decimal(12,0) NULL DEFAULT '0', `einheit_groesse` float unsigned NULL, `einheit_masseinheit` varchar(10) NULL, `upload` tinyint(1) unsigned NULL DEFAULT '0', `lager_bestellungen` int(10) unsigned NULL, `meldebestand` int(10) unsigned NULL, PRIMARY KEY (id), KEY `mwstsatz` (mwst), KEY `INDEX_wie_oft_bestellt` (wie_oft_bestellt), KEY `merkmalkombinationparentid` (merkmalkombinationparentid), FULLTEXT KEY `FULLTEXT_artikel_nr` (artikel_nr) );


Fatal error: Couldn't create table or view `randshop_artikel´

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 19:47
von Martens
Hallo Kulli,

die Datenbank muss komplett leer sein. CREATE TABLE `randshop_artikel` funktioniert nicht, wenn die Tabelle randshop_artikel schon vorhanden ist. Vorm Import also keinen Install durchführen, da hierbei die Tabellen erzeugt werden.

Grüße
Martin

Re: Datenbank widerherstellen

BeitragVerfasst: Di 15. Jan 2013, 20:07
von kulli
Natürlich leere ich die Datenbank immer wieder, lese auch den ersten Post!
"MySQL meldet: Dokumentation#1067 - Invalid default value for 'timestamp';"

erstelle sie sogar neu (leer) weist du wielange ich damit schon rumprobiere.....
der zweiten fehler kommt natürlich nur, wenn Tabellen da sind...

Der Fehler liegt anscheinend im Timestamp des Backups, wenn ich mich so durch die mysql-foren lese...aber wie ich den Fehlerhaften wegbekomme kann mir keiner sagen!?

Re: Datenbank widerherstellen

BeitragVerfasst: Mi 16. Jan 2013, 12:34
von Martens
Hast Du einen SSH-Zugang zum Server? Über das Terminal konnte ich bislang immer alle SQL-Dumps importieren, die mit phpMyAdmin Probleme machten. Das geht geht im Übrigen auch erheblich schneller. Leere Datenbank bereitstellen, DB-Sicherung hochladen und im Terminal per cd in das Verzeichnis mit der Sicherung navigieren. Dann mit dem mysql-Befehl den Import starten:
Code: Alles auswählen
mysql -uDATENBANKBENUTZER -pDATENBANKPASSWORT DATENBANKNAME < DATENBANKSICHERUNG.SQL
Was hier in Großbuchstaben steht, muss durch die entsprechenden Daten ersetzt werden, dass es dann z.B. so aussieht:
mysql -umustermann -p12345abc randshop < randshop_sicherung.sql (-u und -p müssen unmittelbar vor dem Benutzernamen und Passwort stehen bleiben).

Sonst noch wichtig:
Wenn der Host für die Datenbank nicht localhost ist, muss dieser auch angegeben werden:
mysql -umustermann -p12345abc -h mein_db-host randshop < randshop_sicherung.sql
Wenn das Passwort Sonderzeichen enthält, muss es in Anführungszeichen gesetzt werden, z.B.: -p'123!abc'
Falls die Sicherung mit gzip komprimiert ist, kann sie auf dem Server über das Terminal mit
Code: Alles auswählen
gzip -d DATEINAME.gz
entpackt werden.
Wenn man das von einem Windows-Rechner aus machen will, benötigt man die Software Putty.

Re: Datenbank widerherstellen

BeitragVerfasst: Mi 16. Jan 2013, 16:07
von kulli
Danke für die ausführliche Hilfe;

Mittlerweile sind wir mit der Fehlerbereinigung soweit, dass es bei der Tabelle randshop_einstellungen hängt:http://www.forum.randshop.com/viewtopic.php?f=48&t=8097
Hot-Europe sagt mittlerweile auch dass das so nicht funktionieren kann - in der Datenbanksicherung sind einfach zu viele Fehler...

für SSH reicht mein Webpack 4 M nicht, gibts erst ab Pro;

gruss
kulli

Re: Datenbank widerherstellen

BeitragVerfasst: Mo 18. Jan 2016, 19:51
von ThomaZ
Das alles ist zwar schon lange her, aber ich hatte genau die gleichen Probleme.
Ich wollte ein Update machen und habe vorher alles gesichert, dann ging etwas schief (Eigenverschulden) und ich wollte das Backup zurückspielen.

Folgender Fehler kam zuerst:
Code: Alles auswählen
#1067 - Invalid default value for 'timestamp';


Hier musste ich kurz überlegen und in die MySQL Doku schauen um dann festzustellen:
Code: Alles auswählen
`timestamp` timestamp NULL DEFAULT 'CURRENT_TIMESTAMP' on update CURRENT_TIMESTAMP,
wird zu:
Code: Alles auswählen
`timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

(es waren Hochkommata vorhanden, die nicht da sein durften)
Diese Passage hatte ich zwei mal im Backup und somit schnell behoben.

Schwieriger war der darauf folgende Fehler:
Code: Alles auswählen
#
# Daten der Tabelle 'randshop_ebay_zahlungsarten_link'
#
#
# Struktur der Tabelle 'randshop_einstellungen'
#
CREATE TABLE  `randshop_einstellungen` (

 `key` VARCHAR( 100 ) NULL ,
 `language_id` INT( 10 ) UNSIGNED NULL ,
 `value` TEXT NULL ,
 `group` VARCHAR( 255 ) NULL ,
PRIMARY KEY ( KEY , language_id ) ,
KEY  `group` ( GROUP )
);

#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 'key, language_id),
  KEY `group` (group)
)' at line 16


Um hier Abhilfe zu schaffen habe ich mir meinen Testshop zur Brust genommen. Ich habe einfach die Fehlerhafte Tabelle "randshop_einstellungen" in meinem Testsystem exportiert und verglichen wo das Problem liegt.

Die Lösung hier ist:
Code: Alles auswählen
PRIMARY KEY ( KEY , language_id ) ,
KEY  `group` ( GROUP )
wird zu:
Code: Alles auswählen
PRIMARY KEY ( `key` , language_id ) ,
KEY  `group` ( `group` )


Das habe ich nur einmal im Backup gefunden.

Dann habe ich sämtliche Tabellen gelöscht und den Import erneut gestartet und siehe da....

Alles wieder OK !

Ich hoffe mmaas sieht diesen Beitrag, denn ich denke das dieses Problem nicht an phpMyAdmin Versionsunterschieden liegt (sicher bin ich aber nicht).

Ich hoffe ich konnte hier noch dem einen oder anderen User helfen.

Lieben Gruß

Thomas / Naderio