Hi, bei unserem Shop sind auf irgendwelchen Gründen die foreign keys nicht mehr ok. Beim ersten Versuch das “Reparaturscript” auszuführen, bleibt er bei den Attributen hängen. Nun wollten wir die DB auf eine Testebene ziehen und einfach nur die Shopware DB welche mit mysqldumper gesichert wurde wieder zurückspielen. Allerdings bleibt er auch hier immer wieder an der gleichen Stelle hängen und gibt folgenden Fehler aus: 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 'TYPE=InnoDB AUTO\_INCREMENT=2989' at line 73 Fehler bei der Anfrage: CREATE TABLE `s_articles_attributes` ( `id` int(11) NOT NULL AUTO\_INCREMENT, `articleID` int(11) unsigned DEFAULT NULL, `articledetailsID` int(11) unsigned DEFAULT NULL, `attr1` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT '0', `attr2` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT '0', `attr3` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT '0', `attr4` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr5` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr6` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr7` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr8` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT '0', `attr9` mediumtext COLLATE utf8\_unicode\_ci, `attr10` mediumtext COLLATE utf8\_unicode\_ci, `attr11` varchar(200) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr12` varchar(200) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr13` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT '0', `attr14` varchar(200) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr15` varchar(30) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr16` varchar(30) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr17` date DEFAULT NULL, `attr18` mediumtext COLLATE utf8\_unicode\_ci, `attr19` varchar(255) COLLATE utf8\_unicode\_ci DEFAULT NULL, `attr20` varchar(20) COLLATE utf8\_unicode\_ci DEFAULT NULL, `article_Keynet` varchar(100) COLLATE utf8\_unicode\_ci DEFAULT NULL, `dreisc_seo_url` text COLLATE utf8\_unicode\_ci, `dreisc_seo_title` text COLLATE utf8\_unicode\_ci, `dreisc_seo_title_replace` tinyint(4) DEFAULT NULL, `dreisc_seo_breadcrumb` text COLLATE utf8\_unicode\_ci, `dreisc_canonical_link` text COLLATE utf8\_unicode\_ci, `dreisc_robots_tag` text COLLATE utf8\_unicode\_ci, PRIMARY KEY (`id`), UNIQUE KEY `articledetailsID` (`articledetailsID`), KEY `articleID` (`articleID`), CONSTRAINT `s_articles_attributes_ibfk_1` FOREIGN KEY (`articleID`) REFERENCES `s_articles` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `s_articles_attributes_ibfk_2` FOREIGN KEY (`articledetailsID`) REFERENCES `s_articles_details` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO\_INCREMENT=2989 DEFAULT CHARSET=utf8 COLLATE=utf8\_unicode\_ci;
Ignore “ENABLE KEYS” ist beim Backup aktiviert und auch finde ich kein Type=InnoDB in der Datenbank welches durch Engine ersetzt werden müsste. Wenn ich versuche die s_articles_attributes aus dem Backup per SQL direkt zu erstellen, verweigert er auch das … Was aber womöglich mit den Keys zusammenhängt. Hat jemand einen Tipp für mich? Vielen Dank LG Marco
Hallo Marco, gleiches Problem hatte ich auch. Bei mir ging es nur darüber , dass ich eine neue Datenbank angelegt habe und dort die Daten importiert habe. Die alte Datenbank konnte ich nicht mehr benutzen. Ggf gibt es noch eine andere Lösung, aber diese sollte funktionieren.
Hi Stefan, danke für den Tipp, hatte ich bereits versucht ohne Erfolg. Sicherheitshalber habe ich es eben nochmal mit einer komplett neuen DB (diesmal ein komplett neuer DB Name) versucht, hier hat es nun geklappt :thumbup: Allerdings muss ich anscheinend jedes mal eine neue DB anlegen wenn ich das Backup zurückspielen will. Hast Du evtl. noch eine Idee was es mit den Foreign Keys auf sich hat? Habe es eben nochmal versucht und bekomme direkt folgenden Fehler: Fehler SQL-Befehl: ALTER TABLE `s_articles_attributes` ADD FOREIGN KEY ( `articledetailsID` ) REFERENCES `s_articles_details` ( `id` ) ON DELETE CASCADE ON UPDATE NO ACTION ; MySQL meldet: Dokumentation #2013 - Lost connection to MySQL server during query
Wenn ich es erneut versuche ist die Tabelle weg: Fehler SQL-Befehl: -- Copy structure and data to new table, this does \_not\_ copy the foreign keys, that's exactly what we want CREATE TABLE s\_articles\_attributes\_new LIKE s\_articles\_attributes; MySQL meldet: Dokumentation #1146 - Table 'c19testit.s\_articles\_attributes' doesn't exist
Zumindest haben wir den gleichen Hoster
Hi, ja, das meinte ich auch, eine komplett neue mit einem anderen Namen. Hast du schon mal versucht aus der neuen DB heraus eine neue Sicherung zu machen und damit zu arbeiten ? Bei mir geht es mit dem zurückspielen nun ohne Probleme, also mit der neuen DB. Also ich kann problemlos die Nachtbackups von timmehosting einspielen und beliebig oft überschreiben.
Bezüglich dem Zurückspielen werde ich mal ein neues Backup machen. Wegen den Foreign-Keys kommt der Fehler auch in der neuen DB. Den Fehler „2013 - Lost connection to MySQL server during query“ scheint ja irgendwas mit der Konfiguration zu tun zu haben … Dank Dir!
Hi ich nochmal, so ich habe nun versucht aus der neuen DB ein weiteres Backup zu machen … gleicher Fehler. Ist zum verrückt werden. Bezgl. den Foreign Keys wurden die Werte hochgesetzt: max_allowed_packet net_write_timeout net_read_timeout Trotzdem ebenfalls der gleiche Fehler *grrrr*