it-fraggle
Goto Top

MariaDB - User darf keine Daten importieren

Hallo,

ich brauche mal etwas Starthilfe.
Ich habe MariaDB auf meinem Server installiert. Dort auch einen Benutzer angelegt und im alle Berechtigungen für diese DB gegeben. Möchte ich nun den DB-Dump importieren, dann gibt mir MariaDB folgendes zurück:
"ERROR 1227 (42000) at line 17453: Access denied; you need (at least one of) the SUPER privilege(s) for this operation"

Schaue ich mir die Berechtigungen an, so sehe ich kein Problem:

MariaDB [(none)]> show grants for 'myDBUser'@'localhost';  
+------------------------------------------------------------------------------------------------------------------+
| Grants for myDBUser@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myDBUser'@'localhost' IDENTIFIED BY PASSWORD '***********************************' |  
| GRANT ALL PRIVILEGES ON `myDB`.* TO 'myDBUser'@'localhost'                                                 |  
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Jemand eine Idee woran das liegt?

Content-ID: 373377

Url: https://administrator.de/contentid/373377

Ausgedruckt am: 23.11.2024 um 11:11 Uhr

SeaStorm
Lösung SeaStorm 08.05.2018 um 15:49:50 Uhr
Goto Top
hi

was steht denn in Line 17453 ?
Pjordorf
Lösung Pjordorf 08.05.2018 um 16:11:06 Uhr
Goto Top
Hallo,

Zitat von @it-fraggle:
"ERROR 1227 (42000) at line 17453: Access denied; you need (at least one of) the SUPER privilege(s) for this operation"
Neben den Lesen was in Zeile 17453 steht, wirst du SUPER Priviliges evtl. noch zuordnen müssen.
https://mariadb.com/kb/en/library/grant/

Gruß,
Peter
it-fraggle
it-fraggle 08.05.2018 um 20:29:45 Uhr
Goto Top
So, ich habe das Problem gelöst. Wie ich mir dachte waren es keine mangelnden User-Berechtigungen für das Importieren. Den User zum "Super-User" zu machen, der alles darf, widerstrebte mir sehr. Nach einigem Suchen kam ich darauf mal in dem Dump-File (myDB.sql) nachzusehen. Dort sind "Definer" drin, die den User festlegen, der sie importieren soll.

Wenn man das File öffnet, dann findet man in den Statements sowas wie DEFINER=`itopuser`@`localhost`, was man dann auf den User ändern muss, der die Rechte für diese Datenbank hat.

Hintergrund:
Ich sollte eine Kopie für die CMDB iTop machen, die als Playground genutzt werden kann. Dazu habe ich eine neue DB angelegt und die iTop-Instanz kopiert. Beim Importieren des Dumps kam der oben genannte Fehler
"ERROR 1227 (42000) at line 17453: Access denied; you need (at least one of) the SUPER privilege(s) for this operation"

Das löst man in dem man das Dump (SQL-File) öffnet und beim Definer den richtigen User einsetzt. Das war's schon.