Heim > Datenbank > MySQL-Tutorial > Wie entziehe ich einem datenbankweiten Administrator in MySQL Tabellenrechte?

Wie entziehe ich einem datenbankweiten Administrator in MySQL Tabellenrechte?

Linda Hamilton
Freigeben: 2024-11-05 03:54:02
Original
434 Leute haben es durchsucht

How to Revoke Table Privileges from a Database-Wide Administrator in MySQL?

Entziehen bestimmter Tabellenrechte von einem datenbankweiten Administrator

Als MySQL-Administrator müssen Sie Benutzern möglicherweise gelegentlich vollständige Berechtigungen über einen Zeitraum hinweg gewähren Datenbank, während der Zugriff auf eine bestimmte Tabelle eingeschränkt wird. Diese scheinbar einfache Aufgabe kann mit herkömmlichen Methoden überraschend schwierig zu bewältigen sein.

Gewähren aller Berechtigungen außer „Auswählen“

Ein gängiger Ansatz besteht darin, alle Berechtigungen für die Datenbank zu gewähren (z. B. db_name.*), gefolgt von einer spezifischen Gewährung für ausgewählte Berechtigungen für die ausgeschlossene Tabelle. Diese Methode ist jedoch unwirksam, da die nachfolgende Gewährung den ursprünglichen uneingeschränkten Zugriff nicht außer Kraft setzt.

Ansatz selektiver Berechtigungen

Die bevorzugte Lösung besteht darin, Berechtigungen für eine Tabelle zu erteilen. auf Tabellenbasis, mit Ausnahme der Tabelle, die Sie einschränken möchten. Während dieser Ansatz für Datenbanken mit zahlreichen Tabellen mühsam sein kann, gewährleistet er Präzision und verhindert unbeabsichtigten Zugriff auf die geschützte Tabelle.

Verwendung des Informationsschemas

Der Einfachheit halber können Sie dies tun Nutzen Sie die Datenbank „information_schema“, um die erforderlichen Gewährungsanweisungen zu generieren. Die folgende Abfrage gibt eine Liste von Gewährungsbefehlen für alle Tabellen in einer bestimmten Datenbank zurück, mit Ausnahme der Tabelle, die Sie schützen möchten:

SELECT CONCAT("GRANT UPDATE ON db.", table_name, " TO user@localhost;")
FROM information_schema.TABLES
WHERE table_schema = "YourDB" AND table_name <> "table_to_skip";
Nach dem Login kopieren

Schlussfolgerung

Alle gewähren Berechtigungen für eine Datenbank mit Ausnahme einer bestimmten Tabelle können erreicht werden, indem Berechtigungen tabellenweise manuell erteilt werden oder indem die Datenbank „information_schema“ verwendet wird, um Gewährungsanweisungen für alle Tabellen mit Ausnahme der zu schützenden Tabelle zu generieren. Der letztere Ansatz bietet eine effiziente und zuverlässige Lösung für diese häufige MySQL-Verwaltungsaufgabe.

Das obige ist der detaillierte Inhalt vonWie entziehe ich einem datenbankweiten Administrator in MySQL Tabellenrechte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage