Ich versuche, eine neue Entwicklungsversion unseres Magento-Shops zu erstellen. Ich habe eine saubere Installation von El Capitan gemacht und Apache mit PHP, MySQL (Version 5.7.10) usw. zum Laufen gebracht. Ich habe auch phpmyadmin ausgeführt und eine Datenbank für Magento erstellt. Wenn ich jedoch versuche, das Backup von unserer Produktionsstätte zu importieren, erhalte ich die Fehlermeldung:
ERROR 1031 (HY000) at line 291001: Table storage engine for 'catalog_product_relation' doesn't have this option
Ich habe versucht, die .sql-Datei über das Terminal mit dem folgenden Befehl zu importieren:
mysql -h localhost -u <user> -D <database> -p < <file>
Ich bin hier verloren. Google für einige Zeit beendet, konnte aber die Lösung nicht finden. Ich verwende den gleichen Motor wie in der Produktionsdatenbank.
Hat jemand eine Idee?
magento-1.9
database
Woulei
quelle
quelle
Antworten:
Vor kurzem hatte ich das gleiche Problem mit dem Import.
PROBLEM
Dies liegt wahrscheinlich an der Tabellenoption, die Sie in Ihrer CREATE TABLE-DDL haben:
ROW_FORMAT=FIXED
Lassen Sie uns überprüfen, ob es einen solchen String im SQL-Dump gibt (Beispiel: magento-db-dump.sql).
Welches resultierte als
LÖSUNG
Durch Entfernen der
ROW_FORMAT=FIXED
Option aus CREATE TABLE DDL wird das Problem behoben. Probieren wir also mögliche Lösungen aus.# 1
Dies funktionierte unter MacOSx nicht, was zu folgendem Fehler führte:
# 2
Und selbst das ergab sich als:
# 3 Aber dieser hat bei mir unter MacOSx funktioniert
( Quelle )
quelle
find -name "mysql_dump.sql" | xargs perl -pi -e 's/ROW_FORMAT=FIXED//g'
Ich bin auf dasselbe Problem gestoßen, als ich versucht habe, einen Magento-Datenbank-Dump von MySQL 5.5 in MySQL 5.7 zu importieren. Das Problem scheint die Tabellenoption ROW_FORMAT = FIXED für zwei InnoDB-Tabellen zu sein. Durch Entfernen der beiden Vorkommen dieser Option aus dem Datenbank-Dump konnte der Import fehlerfrei ausgeführt werden.
Es scheint, dass diese Option nur für MyISAM-Tabellen relevant ist , zumindest in MySQL 5.7.
quelle
innodb_strict_mode
die früher standardmäßig deaktiviert war, aber ab MySQL 5.7.7 (gemäß der MySQL-Dokumentation) standardmäßig aktiviert ist.Plattformübergreifend arbeiten (Mac + Linux)
quelle
Eine andere Möglichkeit wäre,
innodb_strict_mode = off
zu Ihrer MySQL-Konfigurationsdatei hinzuzufügen . Ich bin auf diesen Fehler gestoßen, indem ich die unbeaufsichtigten Installationen verwendet habe,magerun
die mich davon abgehalten haben, die SQL-Datei zu bearbeiten. Ich bin nicht sicher, ob das Deaktivieren des InnoDb-Strict-Modus in einer Produktionsumgebung wünschenswert ist, aber zumindest funktioniert es in einer Entwicklungsumgebung.quelle
Diese Tabelle wird voraussichtlich InnoDB sein. Ich würde Ihre MySQL-Einstellungen überprüfen, um sicherzustellen, dass Sie das aktiviert / erlaubt haben. Auch der Vorschlag, dass diese Tabelle möglicherweise vorhanden ist, ist möglich. Ich würde alle Tabellen entfernen und es erneut versuchen, nachdem Sie überprüft haben, dass InnoDB funktioniert.
Ich gehe davon aus, dass InnodDB nicht bereit ist oder an Ihrer aktuellen Installation arbeitet.
quelle