Heim >Datenbank >MySQL-Tutorial >Wie erteile ich Berechtigungen für die Datenbankerstellung und beschränke gleichzeitig den Zugriff auf bestimmte Datenbanken in MySQL?

Wie erteile ich Berechtigungen für die Datenbankerstellung und beschränke gleichzeitig den Zugriff auf bestimmte Datenbanken in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 19:31:01293Durchsuche

How to Grant Database Creation Privileges While Restricting Access to Specific Databases in MySQL?

Berechtigungen zur Datenbankerstellung gewähren und Zugriff einschränken

Problem:

Benutzer müssen in der Lage sein um Datenbanken innerhalb einer MySQL-Instanz zu erstellen, aber jedem Benutzer sollte nur Zugriff auf seine eigene gewährt werden Datenbanken.

Lösung:

Schritt 1: Erstellen Sie eine Ersatzrolle

Erstellen Sie eine Rolle, die die erforderlichen Berechtigungen für enthält Erstellen und Ändern von Datenbanken:

CREATE ROLE db_creator;
GRANT CREATE, DROP, ALTER, DELETE, INSERT, UPDATE, SELECT ON *.* TO db_creator;

Schritt 2: Weisen Sie Target die Rolle zu Benutzer

Gewähren Sie die Rolle den gewünschten Benutzern und geben Sie an, dass die Berechtigungen der Rolle auf Datenbanken mit einer bestimmten Namenskonvention angewendet werden sollen:

GRANT db_creator TO 'testuser'@'%';

In diesem Beispiel wird der Testbenutzer dies tun verfügen über die durch die db_creator-Rolle gewährten Berechtigungen, jedoch nur für Datenbanken, die mit beginnen testuser_.

Zusätzliche Hinweise:

  • Ersetzen Sie testuser durch den tatsächlichen Benutzernamen.
  • Geben Sie „%“ als Host an, um Zugriff zu gewähren von jedem Host (passen Sie es nach Bedarf an Ihre Umgebung an).
  • Die Namenskonvention für Datenbanken (z. B. testuser_%) kann beliebig angepasst werden.

Das obige ist der detaillierte Inhalt vonWie erteile ich Berechtigungen für die Datenbankerstellung und beschränke gleichzeitig den Zugriff auf bestimmte Datenbanken in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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