Heim >Datenbank >MySQL-Tutorial >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>
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:
Darüber hinaus gibt es administrative Privilegien wie:
Wenn Sie diese Berechtigungen gewähren oder widerrufen, können Sie sie auf verschiedenen Ebenen angeben: global (alle Datenbanken), Datenbank, Tabelle oder Spalte.
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.
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:
<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>
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!