Heim >Datenbank >MySQL-Tutorial >Wie erteile ich MySQL -Benutzern Privilegien und widerrufen und widerrufen?

Wie erteile ich MySQL -Benutzern Privilegien und widerrufen und widerrufen?

百草
百草Original
2025-03-14 18:42:53866Durchsuche

Wie erteile ich MySQL -Benutzern Privilegien und widerrufen und widerrufen?

Um Berechtigungen für MySQL -Benutzer zu verwalten, verwenden Sie die Zuschüsse und Revoke -Befehle. Hier erfahren Sie, wie man sie benutzt:

Privilegien gewähren:

Der Befehl Grant wird verwendet, um einem Benutzer spezifische Berechtigungen zu geben. Die grundlegende Syntax ist:

 <code class="sql">GRANT privilege_type ON database_name.table_name TO 'username'@'host';</code>

So gewähren Sie einem Benutzer namens john , der sich von einem beliebigen Host verbinden kann, das ausgewählte Berechtigungsberechtigte in einer Tabelle mit dem Namen employees in der company :

 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%';</code>

Widerruf von Privilegien:

Der Befehl Revoke wird verwendet, um bestimmte Berechtigungen von einem Benutzer zu entfernen. Die grundlegende Syntax ist:

 <code class="sql">REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';</code>

Zum Beispiel, um das ausgewählte Privileg von john on the employees Table zu widerrufen:

 <code class="sql">REVOKE SELECT ON company.employees FROM 'john'@'%';</code>

Denken Sie daran, dass es nach Änderung der Privilegien eine gute Praxis ist, die Berechtigungen zu aktualisieren, um sicherzustellen, dass sie sofort in Kraft treten:

 <code class="sql">FLUSH PRIVILEGES;</code>

Welche spezifischen MySQL -Benutzerrechte kann ich gewähren oder widerrufen?

MySQL bietet eine Vielzahl von Berechtigungen, die für die Verwaltung des Benutzerzugriffs gewährt oder widerrufen werden können. Einige der häufigsten Privilegien sind:

  • Alle Privilegien : Gewährt alle verfügbaren Privilegien.
  • Erstellen : Ermöglicht die Erstellung neuer Datenbanken und Tabellen.
  • Drop : Ermöglicht das Löschen von Datenbanken und Tabellen.
  • Löschen : Ermöglicht das Löschen von Datensätzen in einer Tabelle.
  • Einfügen : Ermöglicht die Einführung neuer Datensätze in eine Tabelle.
  • Wählen Sie : Ermöglicht das Abrufen von Daten aus einer Tabelle.
  • Update : Ermöglicht die Änderung vorhandener Datensätze in einer Tabelle.
  • Alter : Ermöglicht eine Änderung der Tabellenstrukturen.
  • Index : Ermöglicht die Erstellung oder Löschung von Indizes.
  • Ausführen : Ermöglicht die Ausführung gespeicherter Routinen.

Darüber hinaus gibt es administrative Privilegien wie:

  • Zuschussoption : Ermöglicht dem Benutzer,/von anderen Benutzern Berechtigungen zu gewähren oder zu widerrufen.
  • Super : Bietet umfangreiche Verwaltungsfunktionen wie das Töten anderer Benutzer -Threads.

Wenn Sie diese Berechtigungen gewähren oder widerrufen, können Sie sie auf verschiedenen Ebenen angeben: global (alle Datenbanken), Datenbank, Tabelle oder Spalte.

Wie kann ich die aktuellen Berechtigungen eines MySQL -Benutzers überprüfen?

Um die aktuellen Berechtigungen eines MySQL -Benutzers zu überprüfen, können Sie die Anweisung SHOW GRANTS verwenden. Die grundlegende Syntax ist:

 <code class="sql">SHOW GRANTS FOR 'username'@'host';</code>

Zum Beispiel, um die Berechtigungen für den Benutzer john zu sehen, der sich von jedem Host verbinden kann:

 <code class="sql">SHOW GRANTS FOR 'john'@'%';</code>

In diesem Befehl wird John alle Privilegien aufgeführt, die john gewährt wurden. Wenn Sie die Berechtigungen für den aktuell angemeldeten Benutzer sehen möchten, können Sie einfach verwenden:

 <code class="sql">SHOW GRANTS FOR CURRENT_USER;</code>

Dadurch werden die Berechtigungen für den Benutzer angezeigt, der derzeit den Befehl ausführt.

Wie ändere ich Berechtigungen für mehrere MySQL -Benutzer gleichzeitig?

Das Ändern von Berechtigungen für mehrere MySQL -Benutzer gleichzeitig wird nicht direkt durch einen einzelnen Befehl in MySQL unterstützt. Sie können dies jedoch erreichen, indem Sie den Prozess skriptieren. Hier ist ein grundlegender Ansatz mit einem SQL -Skript:

  1. Erstellen Sie ein Skript : Schreiben Sie ein SQL -Skript, das für jeden Benutzer eine Reihe von Zuschuss- oder REVOKE -Anweisungen enthält. Zum Beispiel:
 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%'; GRANT SELECT ON company.employees TO 'jane'@'%'; GRANT SELECT ON company.employees TO 'bob'@'%'; FLUSH PRIVILEGES;</code>
  1. Führen Sie das Skript aus : Speichern Sie das Skript in einer Datei (z. B. modify_privileges.sql ) und führen Sie es anschließend mit dem Befehlszeilen-Tool von MySQL aus:
 <code class="bash">mysql -u root -p </code>

Mit diesem Ansatz können Sie den Prozess der Änderung von Berechtigungen für mehrere Benutzer gleichzeitig automatisieren. Sie können dieses Skript weiter verbessern, indem Sie Loops verwenden, wenn Sie mit einer großen Anzahl von Benutzern zu tun haben, möglicherweise indem Sie es in eine Programmiersprache wie Python oder ein Shell -Skript integrieren.

Denken Sie daran immer sicher, dass Sie Sicherungen Ihrer Privilegeinstellungen haben und die Skripte in einer Nichtproduktionsumgebung testen, bevor Sie sie auf Ihre Live-Datenbanken anwenden.

Das obige ist der detaillierte Inhalt vonWie erteile ich MySQL -Benutzern Privilegien und widerrufen und widerrufen?. 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