GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So fügen Sie einen neuen MySQL-Benutzer hinzu und gewähren Zugriffsrechte

In diesem Tutorial werden wir einen neuen Benutzer in MySQL hinzufügen und verschiedene Arten von Berechtigungen für eine MySQL-Datenbank gewähren.

Der MySQL-Server ermöglicht es uns, zahlreiche Benutzerkonten zu erstellen und entsprechende Berechtigungen zu erteilen, damit die Benutzer auf Datenbanken zugreifen und diese verwalten können. Sobald Sie MySQL auf dem Server installiert haben, müssen Sie eine Datenbank und zusätzliche Benutzerkonten erstellen.

Um die folgenden Befehle auszuführen, müssen Sie sich zuerst mit dem MySQL-Root-Konto beim MySQL-Server anmelden.

mysql -u root -p

So erstellen Sie einen neuen MySQL-Benutzer

Der CREATE USER -Anweisung erstellt einen neuen Benutzer auf dem MySQL-Datenbankserver. Hier ist die grundlegende Syntax der Anweisung:

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

Stellen Sie in der obigen Syntax sicher, dass Sie den Benutzernamen ersetzen und Passwort mit Ihrem gewünschten Benutzernamen und Passwort.

Legen Sie den hostname fest zu localhost wenn Sie möchten, dass der Benutzer sich nur vom localhost aus mit MySQL Server verbinden kann, was „diesen Computer“ bedeutet. Wenn Sie möchten, dass der Benutzer sich von jedem Host aus verbinden kann, verwenden Sie den % Platzhalter als Hostname.

Zum Beispiel erstellen wir einen Benutzer mit dem Namen james , und das Passwort MyStrongPass123 mit dem folgenden Befehl:

CREATE USER 'james'@'localhost' IDENTIFIED BY 'MyStrongPass123';

Dieser Benutzer kann jedoch mit keiner der MySQL-Datenbanken arbeiten, bis ihm zusätzliche Berechtigungen gewährt werden.

So gewähren Sie einem MySQL-Benutzer Berechtigungen

Unmittelbar nach dem erfolgreichen Erstellen des neuen Benutzers können wir diesem neuen Benutzer Berechtigungen erteilen. In den meisten Fällen erteilen Sie MySQL-Benutzern Berechtigungen basierend auf der bestimmten Datenbank, auf die das Konto Zugriff haben soll.

Es gibt mehrere Arten von Privilegien, die einem Benutzerkonto gewährt werden können. Eine vollständige Liste der von MySQL unterstützten Berechtigungen finden Sie hier.

  • ALL PRIVILEGES – Gewährt einem Benutzerkonto alle Berechtigungen.
  • ALTER – Der Benutzer kann die Struktur einer Tabelle oder Datenbank ändern.
  • CREATE – Das Benutzerkonto darf Datenbanken und Tabellen erstellen.
  • DROP – Das Benutzerkonto darf Datenbanken und Tabellen löschen.
  • DELETE – Das Benutzerkonto darf Zeilen aus einer bestimmten Tabelle löschen.
  • INSERT – Das Benutzerkonto darf Zeilen in eine bestimmte Tabelle einfügen.
  • SELECT – Das Benutzerkonto darf eine Datenbank lesen.
  • UPDATE – Das Benutzerkonto darf Tabellenzeilen aktualisieren.

Um einem Benutzer Zugriff auf die MySQL-Datenbank zu gewähren und Berechtigungen zu erteilen, müssen Sie im Allgemeinen den folgenden GRANT verwenden Aussage:

GRANT permission_type ON privilege_level TO 'username'@'hostname'; 

Um dem Benutzer james alle Privilegien zu erteilen auf der jamesdb Datenbank verwenden Sie den folgenden Befehl:

GRANT ALL PRIVILEGES ON jamesdb.* TO 'james'@'localhost';

Geben Sie Folgendes ein, um nur SELECT zu gewähren und INSERT Privilegien für den Benutzer james auf der jamesdb Datenbank:

GRANT SELECT, INSERT ON jamesdb.* TO 'james'@'localhost';

Großes SELECT Privilegien für den Benutzer james nur auf salaries Tabelle zu den employees Datenbank:

GRANT SELECT ON employees.salaries TO 'james'@'localhost';

In manchen Fällen möchten Sie vielleicht einen weiteren „Superuser“ erstellen. Um einem Benutzer die gleichen Rechte wie dem MySQL-Root-Benutzer zu gewähren , verwenden Sie den folgenden Befehl, der dem Benutzer james globale Privilegien gewährt Verbindung über localhost :

GRANT ALL ON *.* TO 'james'@'localhost' WITH GRANT OPTION;

Passwort eines MySQL-Benutzerkontos ändern

Angenommen, Sie möchten das Passwort für james ändern   Benutzer, der eine Verbindung von localhost herstellt zu NewStrongPass123 , müssen Sie die folgende SQL-Anweisung ausführen:

ALTER USER 'james'@'localhost' IDENTIFIED BY 'NewStrongPass123';

Stellen Sie in der obigen SQL-Anweisung sicher, dass Sie james ändern mit Ihrem Datenbankbenutzer und localhost mit dem Host des Benutzers.

Zeige Privilegien für einen Benutzer in MySQL

In MySQL können Sie den SHOW GRANTS verwenden Befehl, um alle Gewährungsinformationen für einen Benutzer anzuzeigen. Nehmen wir einige Beispiele.

Die folgende Anweisung verwendet den SHOW GRANTS -Anweisung, um die Berechtigungen anzuzeigen, die dem aktuellen Benutzer gewährt wurden:

SHOW GRANTS;

Um die Grants für einen MySQL-Benutzer anzuzeigen, können Sie SHOW GRANTS verwenden bei Angabe des Benutzernamens:

SHOW GRANTS FOR 'james'@'localhost';

Widerrufen Sie Berechtigungen von einem MySQL-Benutzerkonto

Die Syntax, um einem Benutzerkonto ein oder mehrere Privilegien zu entziehen, ist fast identisch mit der beim Gewähren von Privilegien.

Wenn Sie dem Benutzer james Berechtigungen entziehen müssen auf einer jamesdb Datenbank, wenden Sie die Syntax an, die der ähnlich ist, die Sie beim Erteilen von Berechtigungen verwendet haben:

REVOKE ALL PRIVILEGES ON jamesdb.* FROM 'james'@'localhost';

Benutzer aus MySQL entfernen

Anstatt die Berechtigungen zu widerrufen, möchten Sie möglicherweise auch diesen Benutzer entfernen. Sie können also einen Datenbankbenutzer mit dem folgenden Befehl entfernen:

DROP USER 'james'@'localhost';

Der obige Befehl entfernt den Benutzer james zusammen mit all seinen Privilegien.

Speichern Ihrer Änderungen

Als letzten Schritt stellen Sie sicher, dass Sie jedes Mal, wenn Sie eine Berechtigung aktualisieren oder ändern, die FLUSH PRIVILEGES verwenden Befehl.

FLUSH PRIVILEGES;

Fazit

Nach Abschluss dieses Tutorials sollten Sie wissen, wie Sie neue Benutzer hinzufügen und ihnen eine Vielzahl von Berechtigungen in einer MySQL-Datenbank erteilen.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. So erstellen Sie einen neuen MySQL-Benutzer und gewähren Berechtigungen

  2. So erteilen und entfernen Sie Sudo-Berechtigungen für Benutzer unter Ubuntu

  3. Wie erstelle ich einen neuen Benutzer mit SSH-Zugriff?

  4. Erstellen Sie einen neuen Benutzer und erteilen Sie Berechtigungen in MySQL

  5. Wie füge ich X Tage zum Datum hinzu und erhalte ein neues Datum?

So überprüfen Sie die MySQL-Benutzerrechte unter Linux

So erstellen Sie einen neuen Benutzer und erteilen Berechtigungen in MySQL

Wie füge ich eine MySQL-Datenbank und einen MySQL-Datenbankbenutzer auf Plesk hinzu?

Wie füge ich eine MySQL-Datenbank in SolidCP hinzu?

Wie füge ich eine MySQL-Datenbank in WebsitePanel 2.1 hinzu?

Wie erstelle ich eine neue MySQL-Datenbank und einen neuen Benutzer?