@tarkka.ch Einfach ja, sinnvoll nein. Warum sollte der User der Testdatenbank Rechte für die Livedatenbank haben?
Ich habe mir dann die Trigger selbst nochmal angesehen. Beim mysqldump
der Datenbank wird der DEFINER mit ausgegeben und beim Import dann auch wieder eingelesen:
/*!50003 CREATE*/ /*!50017 DEFINER=`live_shop`@`localhost`*/ /*!50003 TRIGGER customer_address_vat_id_insert AFTER INSERT ON customer_address
Das führt dann dazu, dass der TRIGGER mit diesem User ausgeführt wird, was dann zur Fehlermeldung führt. Die Lösung ist entweder den Dump mit --skip-definer
zu erzeugen (ab MySQL 5.7.8).
Oder, wenn man nicht die ganze Datenbank neu importieren will, kann man die Trigger auch separat exportieren:
mysqldump -u root -p shop --triggers --add-drop-trigger --no-create-info --no-data --no-create-db --skip-opt test > triggers.sql
In der Datei dann den DEFINER ersetzen (sind 5 Ersetzungen für SW 6.4.18) und dann in die Test-Datenbank importieren:
mysql -u root -p testsystem < triggers.sql