Welchen minimalen Grant um eine VIEW zu löschen ?

wucis

Neuer Benutzer
Beiträge
3
Hallo,
welche minimale GRANTS werden benötigt, um ein 'DROP VIEW' statement bzw ein 'CREATE OR REPLACE VIEW' statement auszuführen ? Ich konnte nur GRANT DROP für Tabellen, Funktionen, Prozeduren finden, aber nicht explizit für Views.
 
Werbung:
Error Code: 1142. DROP command denied to user 'peter'@'localhost' for table 'v_minus_mit_answer'

Es fehlt das DROP -Recht

und show grants for peter@'localhost'; ergibt
GRANT CREATE VIEW ON `axpdb`.* TO 'peter'@'localhost'
GRANT DROP ON `agentcall`.* TO 'peter'@'localhost'
GRANT SELECT ON `axpdb`.`agentcall` TO 'peter'@'localhost'
 
LMGTFY

1. Treffer: MySQL :: MySQL 8.0 Reference Manual :: 13.1.35 DROP VIEW Statement

Code:
DROP VIEW removes one or more views. You must have the DROP privilege for each view.

Hrm, sollte über eine Preisliste für Google-Recherche nachdenken.


Das beantwortet nicht meine Frage. Aus der Doku MySQL :: MySQL 5.6 Reference Manual :: 13.7.1.4 GRANT Statement geht hervor, wie von mir ursprünglich beschrieben, es gibt
Code:
GRANT DROP ON TABLE
GRANT DROP ON FUNCTION
GRANT DROP ON PROCEDURE

Es gibt kein
Code:
GRANT DROP ON VIEW


Ausprobieren hat gezeigt, dass folgende Syntax
Code:
GRANT DROP ON v_view1 TO user1@localhost;
GRANT DROP ON v_view2 TO user1@localhost;
GRANT DROP ON v_view3 TO user1@localhost;
zum Ziel führt, damit ein create or replace view ausgeführt werden kann.

Meiner Ansicht nach fehlt in der Doku der object _type view. Dann wäre das konsistent, es würden beide folgende GRANTS funktionieren

Code:
GRANT DROP ON TABLE mytable1 TO user1@localhost;
GRANT DROP ON VIEW v_myview1 TO user1@localhost;

Was ich gesucht habe ist analog zu
Code:
GRANT DROP ON TABLE  meinedb.* TO user1@localhost
ein
Code:
GRANT DROP ON VIEW meinedb.* TO user1@localhost
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben