MySQL Benutzerkonten erstellen und Berechtigungen erteilen

MySQL ist wohl eines der führenden und am weitesten verbreiteten Open-Source-Datenbankverwaltungssysteme. Es ist das bevorzugte relationale Datenbankverwaltungssystem der meisten Webhosting-Unternehmen und anderen Cloud-Anbieter.

In diesem Tutorial sehen wir uns an, wie Sie MySQL-Benutzerkonten erstellen und ihnen Berechtigungen erteilen, auf die erstellten Datenbanken zuzugreifen und sie zu verwalten.

Voraussetzungen

Bevor Sie beginnen, geht das Tutorial davon aus, dass Sie bereits eine Instanz der MySQL-Datenbank oder MariaDB, eine Abzweigung von MySQL, auf Ihrem System installiert haben.

Zugriff auf die MySQL-Shell

Sobald MySQL oder MariaDB installiert und gesichert ist, können Sie auf die Shell zugreifen, indem Sie den Befehl ausführen

$ mysql -u root -p

Danach werden Sie nach dem Root-Passwort gefragt, und wenn Sie es erhalten, drücken Sie die EINGABETASTE, um auf die Shell zuzugreifen

So erstellen Sie einen Benutzer in MySQL

Um einen Benutzer in MYSQL hinzuzufügen, verwenden Sie den Befehl mysql create user wie gezeigt

CREATE USER 'linoxide_user'@'localhost' IDENTIFIED BY 'P@ssword123';

MySQL-Benutzerkonten erstellen

Der MySQL-Benutzer besteht aus 2 Abschnitten: Die username und das hostname. Aus dem obigen Befehl lautet der Benutzername linoxide_user und während der Hostname ist localhost

Der Abschnitt hostname zeigt an, dass der Benutzer linoxide_user kann sich nur lokal mit MySQL verbinden, dh von dem Server, auf dem MySQL gehostet wird.

Um den Zugriff von einem externen Hostsystem zu gewähren, ersetzen Sie localhost mit der IP-Adresse des entfernten Hosts.

Für example, um Zugriff von einem Hostsystem mit einer IP ‘172.16.10.10’ zu gewähren, führen Sie Folgendes aus:

CREATE USER 'linoxide_user'@'172.16.10.10' IDENTIFIED BY 'P@ssword123';

MySQL-Benutzerkonten erstellen

Um den Zugriff von einem beliebigen Hostsystem aus zu gewähren, verwenden Sie das ‘%’, das als Platzhalter fungiert.

CREATE USER 'linoxide_user'@'%' IDENTIFIED BY 'P@ssword123';

Erteilen von Privilegien an einen MySQL-Benutzer

Wenn ein Benutzer erstellt wird, möchten Sie der Datenbank-Engine möglicherweise bestimmte Berechtigungen zuweisen. Diese Berechtigungen gewähren Benutzern Zugriff auf Datenbanken und ermöglichen ihnen, einige Änderungen an den Datenbanken vorzunehmen.

In MySQL gibt es unzählige Privilegien die einem Benutzer zugeordnet werden können. In diesem Leitfaden beleuchten wir jedoch die am häufigsten verwendeten Privilegien:

WÄHLEN: Dies ermöglicht einem Benutzer, die gesamte Datenbank zu lesen

AKTUALISIEREN: Dies ermöglicht einem Benutzer, die Zeilen in einer Tabelle zu aktualisieren

EINFÜGUNG: Ermöglicht einem Benutzer das Einfügen von Zeilen in eine bestimmte Tabelle

LÖSCHEN: Gewährt eine Nutzungsberechtigung zum Löschen von Zeilen in einer bestimmten Tabelle

ERSTELLEN: Ermöglicht einem Benutzer das Erstellen von Datenbanken und Tabellen

FALLEN: Gewährt dem Benutzer die Berechtigung, die gesamte Datenbank und die Tabellen zu löschen

Um einem Benutzer bestimmte Berechtigungen für den Zugriff auf eine Datenbank zu erteilen, verwenden Sie die unten gezeigte Syntax:

GRANT privilege1, privilege2 ON database_name.* TO 'database_user'@'localhost';

Für example:

GRANT SELECT, INSERT, ON database_name.* TO database_user@'localhost';

Teilrechte gewähren

Um einem bestimmten Benutzer alle Berechtigungen für eine bestimmte Tabelle in einer Datenbank zu erteilen, geben Sie den folgenden Befehl ein:

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

neuen MySQL-Benutzer erstellen

Um einem Benutzer alle Berechtigungen für alle Datenbanken zu erteilen, führen Sie den folgenden Befehl aus:

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

Gewähren Sie allen Benutzern alle Berechtigungen

Benutzerkontoberechtigungen anzeigen

Nachdem ein Benutzer erstellt und Berechtigungen für die Datenbanken zugewiesen wurden, können Sie die dem Benutzer gewährten Berechtigungen einfach mit dem SHOW GRANTS Befehle wie unten dargestellt:

SHOW GRANTS FOR 'database_user'@'localhost';

Benutzerrechte anzeigen

Widerrufen von Berechtigungen eines MySQL-Benutzers

Darüber hinaus können Sie einem MySQL-Benutzer eine oder mehrere Berechtigungen entziehen. Die Syntax ist fast ähnlich wie bei der Vergabe von Benutzerrechten.

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Berechtigungen für einen Benutzer widerrufen

Löschen Sie einen bestehenden MySQL-Benutzer

Um einen MySQL-Benutzer zu entfernen oder zu löschen, führen Sie Folgendes aus: DROP Befehl wie gezeigt:

DROP USER 'database_user'@'localhost';

Für example:

Einen MySQL-Benutzer löschen

Fazit

Dieses Tutorial behandelt die grundlegenden Konzepte zum Erstellen und Verwalten von MySQL-Benutzern durch Zuweisen und Entziehen von Berechtigungen. Dies sollte ein guter Ausgangspunkt für Anfänger sein. Wir hoffen, dass Sie problemlos MySQL-Benutzerkonten erstellen und Berechtigungen und Benutzer verwalten können.