Verwalten von MySQL-Benutzerberechtigungen

MySQLMySQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du Benutzerrechte in einer MySQL-Datenbank verwalten kannst. Genauer gesagt wirst du einen neuen lokalen Benutzer namens "Rong" erstellen und ihm den Zugang zur performance_schema-Datenbank gewähren.

👀 Vorschau

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du den MySQL-Server starten und dich in das MySQL-Terminal einloggen kannst
  • Wie du einen neuen lokalen Benutzer mit einem bestimmten Passwort erstellen kannst
  • Wie du einem Benutzer den Zugang zu einer bestimmten Datenbank und ihren Tabellen gewähren kannst

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Benutzerkonten und -rechte in einer MySQL-Datenbank zu verwalten
  • Den Prozess des Gewährens und Widerrufens von Datenbankzugängen für Benutzer zu verstehen
  • Diese Fähigkeiten anzuwenden, um Benutzerrechte in eigenen MySQL-basierten Anwendungen einzurichten

Starte MySQL und melde dich an

In diesem Schritt lernst du, wie du den MySQL-Server startest und dich in das MySQL-Terminal einloggst.

  1. Öffne ein Terminal auf deinem System.

  2. Führe den folgenden Befehl aus, um den MySQL-Dienst zu starten:

    sudo /etc/init.d/mysql start
  3. Melde dich am MySQL-Terminal an:

    mysql -uroot

    Du solltest jetzt im MySQL-Terminal sein, in dem du MySQL-Befehle eingeben kannst.

Erstelle einen lokalen Benutzer

In diesem Schritt lernst du, wie du einen neuen lokalen Benutzer namens "Rong" mit dem Passwort "123456" erstellst.

  1. Erstelle die Datei manUser.sql im Verzeichnis ~/project.

  2. Füge den folgenden Code zur Datei hinzu, um den Benutzer zu erstellen:

    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '123456';

    Dies erstellt einen neuen Benutzer namens "Rong" mit dem Passwort "123456" und ermöglicht es dem Benutzer, sich von der lokalen Maschine (localhost) aus anzumelden.

Gewähre Zugang zu performance_schema

In diesem Schritt lernst du, wie du dem Benutzer "Rong" den Zugang zur performance_schema-Datenbank gewährst.

  1. Öffne die Datei manUser.sql.

  2. Gewähre die erforderlichen Berechtigungen nach dem im vorherigen Schritt hinzugefügten Code:

    GRANT SELECT ON performance_schema.* TO 'Rong'@'localhost';

    Dies gewährt dem Benutzer "Rong" die SELECT-Berechtigung für alle Tabellen in der performance_schema-Datenbank.

  3. Schließe schließlich die Berechtigungen neu aus und mache die Änderungen wirksam:

    FLUSH PRIVILEGES;

Überprüfe die Lösung

  1. Führe das SQL-Skript im MySQL-Prompt aus:
SOURCE /home/labex/project/manUser.sql;
  1. Überprüfe die Ergebnisse, indem du folgenden Befehl im MySQL-Terminal ausführst:
SHOW GRANTS FOR Rong@localhost;

Dies sollte die Berechtigungen für den Benutzer "Rong" anzeigen, einschließlich der SELECT-Berechtigung für die performance_schema-Datenbank.

MariaDB [(none)]> SHOW GRANTS FOR Rong@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for Rong@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Rong`@`localhost` IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `performance_schema`.* TO `Rong`@`localhost`                                                |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.