Update DB von MySQL 5.7 auf 8.0 - Fehler Super Privilege

Ich möchte auf die aktuelle MySQL Version updaten, um das Shopware Update durchführen zu können.
Strato ist der Server und hat mittlerweile auch 8.0.

Allerdings schaffe ich es nicht die DB zu migrieren. Da der Strato Service bekanntermaßen „hervorragend“ ist, hoffe ich, dass hier jemand helfen kann…

Folgende Vorgehensweise:

  1. mysqldump via Putty der alten, 5.7 DB
  2. Rücksicherung in die neue, leere 8.0 DB via Putty

Dann kommt eine Fehlermeldung mit:
ERROR 1227 (42000) at line 1161: Access denied; you need (at least one of) the SUPER or SET_USER_ID privilege(s) for this operation

Habe das Ganze auch mal mittel PHPMyAdmin probiert. Gleiches Problem.

Die Zeilen in der SQL-Datei habe ich mir auch mal angesehen. Finde aber nichts auffälliges:

Zeilen 1151 bis 1175
(nicht wundern: musste die „@“ durch (A) ersetzen)

UNLOCK TABLES;
/!50003 SET (A)saved_cs_client = (A)(A)character_set_client / ;
/
!50003 SET (A)saved_cs_results = (A)(A)character_set_results / ;
/
!50003 SET (A)saved_col_connection = (A)(A)collation_connection / ;
/
!50003 SET character_set_client = utf8mb4 / ;
/
!50003 SET character_set_results = utf8mb4 / ;
/
!50003 SET collation_connection = utf8mb4_general_ci / ;
/
!50003 SET (A)saved_sql_mode = (A)(A)sql_mode / ;
/
!50003 SET sql_mode = ‚‘ / ;
DELIMITER ;;
/
!50003 CREATE
/ /!50017 DEFINER=o8520064(A)%/ /*!50003 TRIGGER country_tax_free_insert BEFORE INSERT ON country
FOR EACH ROW BEGIN
IF (A)TRIGGER_DISABLED IS NULL OR (A)TRIGGER_DISABLED = 0 THEN
IF NEW.tax_free = 1 OR NEW.customer_tax IS NULL THEN
SET NEW.customer_tax = JSON_OBJECT(„enabled“, NEW.tax_free, „currencyId“, ‚b7d2554b0ce847cd82f3ac9bd1c0dfca‘, „amount“, 0);
ELSEIF NEW.customer_tax IS NOT NULL THEN
SET NEW.tax_free = JSON_EXTRACT(NEW.customer_tax, „$.enabled“);
END IF;
IF NEW.company_tax_free = 1 OR NEW.company_tax IS NULL THEN
SET NEW.company_tax = JSON_OBJECT(„enabled“, NEW.company_tax_free, „currencyId“, ‚b7d2554b0ce847cd82f3ac9bd1c0dfca‘, „amount“, 0);
ELSEIF NEW.company_tax IS NOT NULL THEN
SET NEW.company_tax_free = JSON_EXTRACT(NEW.company_tax, „$.enabled“);
END IF;
END IF;
END */;;

Hat jemand eine Idee?

DANKE!!!

Hi,

das wird evtl. an dem Definer-Syntax liegen:

Viele Grüße

Was kann ich denn tun? „definer“ kommt 5x vor in der Datei.

Kann das denn funktionieren, wenn ich die Definer Zeilen einfach rauslösche / rauskommentiere?

In dem Beitrag sind verschiedene Lösungsansätze benannt, das müsstest Du evtl. mal durchprobieren …

Viele Grüße

es bleibt verflixt… habe die Definer rausgenommen.

jetzt meckert er mit
ERROR 3105 (HY000) at line 4135: The value specified for generated column ‚order_date‘ in table ‚order‘ is not allowed.

Irgendwelche Ideen?

DANKE!

Vielleicht hilft Dir das hier weiter:

Hmmm.
Habe jetzt ne Mischung aus allem.

DB via PHPMyAdmin exportiert.

Die Definer Zeilen via
" sed ‚s/\sDEFINER=[^]*@[^]*//g‘ -i oldfile.sql "
rausgenommen.

Via PHPMyAdmin wieder importiert in die neue DB 8.0.
War erfolgreich.

Jetzt traue ich mich aber nicht Shopware auf die neue DB umzustellen.

Wie würdet Ihr vorgehen?

Sorry - und DANKE!

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.