Hallo Raketenwilli,
Es muss also an den Triggern liegen, aber inwiefern?
Naja. Wie es scheint liegt es aber an den Daten im Dump.
Ja klar, stimmt.
Es liegt daran, dass die Trigger in meinem XAMPP automatisch auf root@localhost als Definer angelegt werden.
keine Ahnung, wo mysql abspeichert, dass die eigentlich auf einen anderen Definer laufen sollten.
Wenn Du auf dem Zielserver Benutzer nicht willst, die Du auf dem Quellserver hast, die dann aber in Triggern als creator werden (woran Rechte hängen), dann geht das notwendig in die Hose.
Verstehe.
Lösung:
Jage den Dump durch etwas wie sed. Ersetze dabei den creator des Triggers durch einen existierenden user:
Test: (Datei: test.txt)
Holla. Da steht 'foo'@'bar.de' drin. Wirklich 'foo'@'bar.de'.
Aktion
$ sed -e "s/'foo'@'bar.de'/'bar'@'foo.org'/g" test.txt > text.neu;
Ja, genau an sowas dachte ich, danke! 👍
Kann ich auch den gepackten dump gleich durch sed jagen und danach, wenn erfolgreich, gleich importieren, also so in der Art?
gunzip -c /home/thatsMe/import_db/2023-05-02/2023-05-02_01:59:01_myDB.sql.gz | sed -e "s/'foo'@'bar.de'/'bar'@'foo.org'/g" | gzip > /home/thatsMe/import_db/2023-05-02/2023-05-02_01:59:01_myDB_neu.sql.gz && /mnt/d/myXampp8/mysql/bin/mysql -u root -p -h localhost myDBname < /home/thatsMe/import_db/2023-05-02/2023-05-02_01:59:01_myDB_neu.sql.gz
Jörg