Hallo ich hoffe auf Eure Hilfe. Stecke beim DB-Import fest und komme nicht weiter. DB-Import scheitert mit folgender Fehlermeldung: „150 „Foreign key constraint is incorrectly formed““
Ausgangssituation:
Ich möchte den DB-Export von 16.0.3-Instanz bei Domainhoster auf einer lokalen Installation importieren.
Vorgangsweise:
Vorbereitung Windows-PC:
Windows11 pro, aktuelles System
Doliwamp lt. Anleitung installiertm, kann mich am System über den Browser anmelden
(Erstinstallationsversion 17.0.1)
DB-Anmeldung über CMD-Fenster, da WAMP kein PhpMyAdmin installiert hat
cmd als Administrator ausgeführt
mysql-Anmeldung an die Maria-DB (user: dolibarrmysql)
Zugriff auf die Datenbank funktioniert (show tables, select, etc.)
Hosting-Seite:
Vorbereitung SQL-Datei (erstellt mittels mysqldump (php), da mysqldump bei meinem hoster auf einen Fehler läuft). Beim Export „DROP Table“ bei Struktur mit angehakt, sowie UTF8. Alle anderen Parameter nicht aktiviert, keine Kompression.
Im File selbst habe ich alle Tabllenpräfixe von „bimp_“ auf „llx_“ geändert. Datenbankname auf „dolibarr“ (wie die lokale DB heißt) geändert. Use-Befehl angepasst.
Fehlermeldung beim Import:
D:\2_doliwamp\dolibarr1\bin\mariadb\mariadb10.6.5\bin>mysql dolibarr -h localhost -P 3306 -u dolibarrmysql -proot < D:/3_sourcen/arbeitsversionen/20230515_u205729db3MitDropTable.sql
ERROR 1005 (HY000) at line 2341: Can’t create table dolibarr
.llx_accounting_journal
(errno: 150 „Foreign key constraint is incorrectly formed“)
Folgende Versuche:
Der Eintrag „SET FOREIGN_KEY_CHECKS=0;“ in der Importdatei greift nicht, da der user dolibarmysql schein bar kein superuser ist.
Ich kann die Prüfung auch nicht global mit dem User ausschalten (SET @@GLOBAL.foreign_key_checks=0;)
Ich habe versucht mir einen eigenen Superuser anzulegen und danach die globalen Einstellungen für die Prüfung zu deaktivieren:
CREATE USER ‚superuser‘@‚%‘ IDENTIFIED BY ‚root‘;
GRANT ALL PRIVILEGES ON . TO ‚superuser‘@‚%‘ WITH GRANT OPTION;
danach die Einstellungen gesetzt und kontrolliert:
SELECT @@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks; Liefert als Ergebnis jeweils „1“ für aktiv.
SET @@SESSION.foreign_key_checks=0;
SET @@GLOBAL.foreign_key_checks=0;
SELECT @@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks; Liefert als Ergebnis jeweils „0“ für inaktiv.
Import der SQL-Datei über folgenden Befehl schlägt trotzdem wieder mit der oben erwähnten Fehlermeldung fehl:
mysql dolibarr -h localhost -P 3306 -u dolibarrmysql -proot < D:/3_sourcen/arbeitsversionen/20230515_u205729db3MitDropTable.sql
Heute ist Tag 2 wo ich mit diesem Problem kämpfe und bin mit meinem Latein am Ende.
Hat jemand einen Tipp für mich wie ich den Import erfolgreich durchführen kann?
Danke vorab für Eure Unterstützung,
Gruß Achim