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

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

Die Erst-/Neuinstallation von MySQL auf einem beliebigen Betriebssystem betrachtet nur den Root-Benutzer als Standard-Datenbankbenutzer. Die ersten Datenbanktransaktionen/-aktivitäten werden nur vom Root-Benutzer durchgeführt.

Daher ist es nicht ideal für Benutzer, die Zugriff auf die MySQL-Datenbank benötigen, um Zugang über die Anmeldeinformationen des Root-Benutzers zu erhalten. Der Root-Benutzerzugriff sollte dem Datenbankadministrator vorbehalten sein, der dann die Root-Benutzer-Anmeldeinformationen verwendet, um Datenbankbenutzer zu erstellen und Berechtigungen zum Ausführen verschiedener Datenbankabfragen zu gewähren.

Es ist auch eine ideale Vorgehensweise für den Datenbankadministrator, die Verwendung des Root-Benutzers für den Zugriff auf MySQL zu vermeiden Datenbank, sondern erstellen Sie stattdessen einen anderen Benutzer und gewähren Sie diesem Benutzer die gleichen Zugriffs- und Ausführungsrechte wie dem Root-Benutzer.

Dieser Artikelleitfaden ist ideal für MariaDB , MySQL Enterprise Edition und MySQL Community Edition Benutzer. Um zu demonstrieren, wie MySQL-Benutzerrechte überprüft werden, erstellen wir zunächst verschiedene Testbenutzer mit unterschiedlichen MySQL-Rechten.

Erstellen Sie einen neuen MySQL-Benutzer

Verschaffen Sie sich zunächst Root-Zugriff auf Ihr MySQL Datenbank von Ihrem Linux-Terminal mit dem Befehl:

$ mysql -u root -p

Die Befehlssyntax zum Erstellen eines MySQL-Benutzers lautet wie folgt:

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

Der obige Anwendungsfall gilt für MySQL, das auf einem lokalen Computer installiert ist. Wenn Sie einen Remote-Computer/Server verwenden, müssen Sie ‘username’@’localhost’ ersetzen mit ‘username’@’ip_address_remote_machine’ .

Wenn Sie einen Benutzer haben möchten, der sich mit jedem installierten MySQL-System verbinden kann, ohne den Hostnamen oder die IP-Adresse anzugeben, halten Sie sich an die Befehlssyntax:

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

Lassen Sie uns nun mehrere MySQL-Datenbankbenutzer erstellen.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password1';  
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password2';  
CREATE USER 'user3'@'%' IDENTIFIED BY 'password3';  

Beachten Sie, dass diese Benutzer zu Demozwecken dienen und erwägen Sie daher, stärkere Datenbankbenutzerpasswörter für Ihre Produktionsumgebung zu erstellen.

Neuem MySQL-Benutzer Berechtigungen erteilen

Im nächsten Schritt weisen Sie diesen erstellten Datenbankbenutzern verschiedene Rollen (Benutzerrechte) zu. Diese Benutzerrechte beziehen sich auf die Datenbankaktionen, die die verschiedenen Datenbankbenutzer ausführen dürfen.

Wir können diese Berechtigungen wie folgt aufschlüsseln:

  • Alle Berechtigungen :Der Benutzer, dem diese Berechtigung zugewiesen wurde, kann alle Datenbankrollen ausführen.
  • Einfügen :Benutzer mit dieser Berechtigung können Zeilendaten in Datenbanktabellen einfügen.
  • Löschen :Der Benutzer, dem diese Berechtigung zugewiesen wurde, kann Zeilendaten der Datenbanktabelle löschen.
  • Erstellen :Der Benutzer, dem diese Berechtigung zugewiesen wurde, kann nicht vorhandene Datenbanken und Tabellen erstellen.
  • Ablegen :Der Benutzer, dem diese Rolle zugewiesen wurde, kann vorhandene Datenbanken und Tabellen entfernen.
  • Auswählen :Der Benutzer mit dieser Berechtigung kann Datenbankinformationen lesen.
  • Aktualisieren :Der Benutzer, dem diese Berechtigung zugewiesen wurde, kann die Zeilendaten der Datenbanktabelle ändern.
  • Option gewähren :Der Benutzer, dem diese Berechtigung zugewiesen wurde, kann die Berechtigungen anderer Datenbankbenutzerkonten ändern.

Zum Beispiel, wenn wir user1 erteilen würden Um alle Privilegien für alle Datenbanken und Tabellen wie der Root-Benutzer zu haben, würden wir den Befehl ausführen:

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

Wenn wir user2 gewähren würden alle Privilegien auf alle Datenbanktabellen einer bestimmten Datenbank (z.B. mysql ), würden wir den Befehl ausführen:

GRANT ALL PRIVILEGES ON mysql.* TO 'user2'@'localhost';

Wenn wir user3 erteilen würden das Privileg, nur neue MySQL-Benutzer zu erstellen, würden wir den Befehl ausführen:

GRANT INSERT ON mysql.user TO 'user3'@'%';

Überprüfen der Benutzerrechte in MySQL

Um die Datenbankberechtigungen eines Benutzers zu überprüfen, verweisen Sie auf die Befehlssyntax:

SHOW GRANTS FOR username;

So überprüfen Sie diese drei Benutzerrechte:

SHOW GRANTS FOR user1@localhost;
SHOW GRANTS FOR user2@localhost;
SHOW GRANTS FOR user3;

Um dem Benutzer zugewiesene Berechtigungen zu widerrufen, verweisen Sie auf die Befehlssyntax:

REVOKE permission_type ON database.table FROM 'username'@'hostname'; 

Zum Beispiel;

REVOKE INSERT ON mysql.user FROM user3;

[ Das könnte Ihnen auch gefallen:Cheat Sheet für MySQL-Datenbankbefehle für Linux ]

Mit diesem Artikel verstehen Sie nun alles, was Sie über MySQL-Benutzerrechte wissen müssen.


Linux
  1. So überprüfen Sie die MySQL-Version unter Linux

  2. So reparieren Sie die MySQL-Datenbank

  3. So richten Sie Sudo-Berechtigungen für Benutzer in Linux ein

  4. So überprüfen Sie die MySQL-Version unter Linux

  5. So überprüfen Sie die MySQL-Version unter Linux

So erstellen Sie einen neuen MySQL-Benutzer über phpMyAdmin

So erlauben Sie den Fernzugriff auf den MySQL-Datenbankserver

So benennen Sie den MySQL-Datenbanknamen in Linux um

So ändern Sie den Benutzer unter Linux

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

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