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

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

Einführung

MySQL ist eine Datenbankanwendung für Linux und Teil des beliebten LAMP-Stacks (Linux, Apache, MySQL, PHP). Eine MySQL-Installation enthält Optionen zur Verwaltung durch einen Root-Benutzer oder bestimmte Benutzerkonten.

Aus Sicherheitsgründen ist es im Allgemeinen besser, Daten als bestimmte Benutzer zu erstellen und zu handhaben.

In diesem Tutorial erfahren Sie, wie Sie MySQL-Benutzerkonten erstellen und ihre Berechtigungen und Privilegien verwalten.

Voraussetzungen

  • Ein Linux-Server, auf dem MySQL oder MariaDB installiert ist und ausgeführt wird
  • Zugriff auf die Anmeldedaten des MySQL-Root-Benutzers
  • Zugriff auf ein Terminalfenster/eine Befehlszeile (Strg-Alt-T / Strg-Alt-F2)

So erstellen Sie einen neuen MySQL-Benutzer

1. Bevor Sie einen neuen MySQL-Benutzer erstellen können, müssen Sie ein Terminalfenster öffnen und die MySQL-Shell als Root-Benutzer starten. Geben Sie dazu folgenden Befehl ein:

sudo mysql –u root –p

2. Geben Sie das Root-Passwort für dieses Konto ein und drücken Sie die Eingabetaste.

Die Eingabeaufforderung sollte sich ändern, um anzuzeigen, dass Sie sich in mysql> befinden Schale.

3. Erstellen Sie als Nächstes einen neuen MySQL-Benutzer mit:

CREATE USER 'username' IDENTIFIED BY 'password';

Ersetzen Sie Nutzername und Passwort mit einem Benutzernamen und Passwort Ihrer Wahl.

Alternativ können Sie einen Benutzer einrichten, indem Sie den Computer angeben, der die Datenbank hostet.

  • Wenn Sie auf dem Computer mit MySQL arbeiten, verwenden Sie [email protected] um den Benutzer zu definieren.
  • Wenn Sie eine Remote-Verbindung herstellen, verwenden Sie [email protected]_address , und ersetzen Sie ip_address durch die tatsächliche Adresse des entfernten Systems, auf dem MySQL gehostet wird.

Daher lautet der Befehl:

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

oder

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

Sie können mit dem folgenden Befehl auch einen Benutzer erstellen, der sich von jedem Computer aus verbinden kann:

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

So erteilen Sie Berechtigungen in MySQL

Bevor Sie sich mit einem neuen Konto anmelden, vergewissern Sie sich, dass Sie die Berechtigungen für den Benutzer festgelegt haben.

Berechtigungen sind Aktionen, die der Benutzer in der Datenbank ausführen darf. Je nachdem, wie viel Autorität Ihr Benutzer haben soll, können Sie ihm eines, mehrere oder alle der folgenden Privilegien gewähren:

  • Alle Berechtigungen: Das Benutzerkonto hat vollen Zugriff auf die Datenbank
  • Einfügen: Der Benutzer kann Zeilen in Tabellen einfügen
  • Löschen: Der Benutzer kann Zeilen aus Tabellen entfernen
  • Erstellen: Der Benutzer kann völlig neue Tabellen und Datenbanken erstellen
  • Ablegen: Der Benutzer kann ganze Tabellen und Datenbanken löschen (löschen)
  • Auswählen: Der Benutzer erhält Zugriff auf den select-Befehl, um die Informationen in den Datenbanken zu lesen
  • Aktualisierung: Der Benutzer kann Tabellenzeilen aktualisieren
  • Zuschussoption: Der Benutzer kann andere Benutzerkonto-Privilegien ändern

Die grundlegende Syntax zum Gewähren von Berechtigungen für ein Benutzerkonto lautet:

GRANT permission_type ON database.table TO 'username'@'localhost';

Beispiel:um einem MySQL-Benutzer Einfügerechte zu erteilen Sie würden den Befehl ausführen:

GRANT INSERT ON *.* TO 'username'@'localhost';

Sie können die Berechtigungsstufe entsprechend Ihren Anforderungen ersetzen. Führen Sie den Befehl für jedes Privileg aus, das Sie gewähren möchten.

Wenn Sie den Zugriff des Benutzers auf eine bestimmte Datenbank einschränken möchten, benennen Sie diese Datenbank vor dem Punkt. Ebenso können Sie den Zugriff eines Benutzers auf eine bestimmte Tabelle einschränken, indem Sie sie nach dem Punkt benennen, wie im folgenden Befehl:

GRANT INSERT *database_name.table_name* TO 'username'@'localhost';

MySQL-Benutzerverwaltung

Dieser Abschnitt hilft Ihnen dabei, die Berechtigungen eines Benutzerkontos aufzulisten, einem Benutzer Berechtigungen zu entziehen und ein Benutzerkonto vollständig zu löschen. Es zeigt Ihnen auch, wie Sie sich vom Root-MySQL-Benutzerkonto abmelden und sich unter dem Konto, das Sie gerade erstellt haben, wieder anmelden.

So listen Sie MySQL-Benutzerkonto-Privilegien auf

So zeigen Sie alle aktuellen Berechtigungen eines Benutzers an:

SHOW GRANTS FOR username;

So gewähren Sie alle Berechtigungen für eine Datenbank in MySQL

Um dem MySQL-Benutzer alle Berechtigungen für alle Datenbanken zu gewähren Verwenden Sie den Befehl:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Sie können einem Benutzerkonto jedoch auch alle Berechtigungen für ein bestimmtes Konto erteilen Datenbank mit folgendem Befehl:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Um einem Benutzerkonto alle Berechtigungen für eine bestimmte Tabelle aus einer Datenbank zu erteilen, geben Sie Folgendes ein:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

MySQL-Benutzerkonto mit Berechtigungen entziehen

Um Berechtigungen von einem bestimmten Benutzer zurückzunehmen, verwenden Sie REVOKE Befehl. Er funktioniert ähnlich wie der GRANT-Befehl, seine grundlegende Syntax ist:

REVOKE permission_type ON database.table TO 'username'@'localhost';

Entfernen Sie ein gesamtes Benutzerkonto

Um ein MySQL-Benutzerkonto zu löschen, verwenden Sie den Befehl:

DROP USER 'username'@'localhost';

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

  2. So erstellen und löschen Sie Benutzergruppen in Linux

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

  4. Wie erstelle ich eine MySQL-Datenbank und ihren Benutzer in CWP?

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

So erstellen Sie einen neuen Benutzer und erteilen Berechtigungen in MySQL

Wie erstelle ich eine MySQL-Datenbank und einen Benutzer in cPanel?

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

Wie kann ich eine neue MySQL-Datenbank in cPanel erstellen?

So erstellen Sie einen Sudo-Benutzer unter Ubuntu und Debian

So erstellen und verwalten Sie neue Benutzer unter Linux