Magento 2 – you need (at least one of) the SUPER privilege(s) for this operation

Von Christian am 15. Oktober 2020

Häufig wird bei der Installation oder der Migration einer Magento 2 Datenbank folgender Fehler ausgeworfen.

ERROR 1227 (42000) at line 123456: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

Um diese Fehlerprüfung zu umgehen, sucht nachfolgende Datei.

 /setup/src/Magento/Setup/ValidatorDbValidator.php

Kommentiert nachfolgende Zeilen aus.


        // check global privileges
        // phpcs:ignore Magento2.SQL.RawQuery
        $userPrivilegesQuery = "SELECT PRIVILEGE_TYPE FROM USER_PRIVILEGES "
            . "WHERE REPLACE(GRANTEE, '\'', '') = current_user()";
        $grantInfo = $connection->query($userPrivilegesQuery)->fetchAll(\PDO::FETCH_NUM);
        if (empty(array_diff($requiredPrivileges, $this->parseGrantInfo($grantInfo)))) {
            return true;
        }

        // check database privileges
        // phpcs:ignore Magento2.SQL.RawQuery
        $schemaPrivilegesQuery = "SELECT PRIVILEGE_TYPE FROM SCHEMA_PRIVILEGES " .
            "WHERE '$dbName' LIKE TABLE_SCHEMA AND REPLACE(GRANTEE, '\'', '') = current_user()";
        $grantInfo = $connection->query($schemaPrivilegesQuery)->fetchAll(\PDO::FETCH_NUM);
        if (empty(array_diff($requiredPrivileges, $this->parseGrantInfo($grantInfo)))) {
            return true;
        }

        $errorMessage = 'Database user does not have enough privileges. Please make sure '
            . implode(', ', $requiredPrivileges) . " privileges are granted to database '{$dbName}'.";
        throw new \Magento\Setup\Exception($errorMessage);

Wenn ihr dies via SSH importiert und weiterhin den Fehler erhaltet, kommentiert die Zeile aus.

sed 's/\sDEFINER=`[^`]*`@`[^`]*`//g' -i [DATEINAME].sql
Hosting Pilot Support Telefon

Telefonische Beratung

+49 2131 77 69 59 5
Hosting Hilfe

Online Hilfe