Stellen Sie sich eine Bibliothek vor, in der jeder jederzeit kommen und Änderungen an den Büchern vornehmen kann.
Sie kommen herein, um Der Herr der Ringe zu sehen, aber plötzlich ist es ganz das Gegenteil, anstatt einer zeitlosen Geschichte über Freundschaft und Mut angesichts des allumfassenden Bösen.
Jemand hat Frodos und Sams heroische Reise nach Mordor neu geschrieben, sodass sie darauf verzichten, Mittelerde zu retten, und stattdessen beschließen, ein Schmuckgeschäft in Bree zu eröffnen. Ihr erster Kunde? Sauron. Und wer hätte es gedacht, er sucht nach einem Ring.
Was Aragorn, Legolas und Gimli angeht? Sagen wir einfach, wer auch immer die Geschichte bearbeitet hat, ist sehr in Fanfiction vertieft. Dabei belassen wir es.
Ihre Website ist wie diese Bibliothek, und die Datenbank, die sie antreibt, ist wie alle Bücher darin. Wenn Sie praktisch jedem Zugang gewähren, um Änderungen vorzunehmen, könnten Sie in eine Situation wie eine Herr der Ringe-Neuschreibung geraten — aber viel schlimmer, denn es könnte Ihre gesamte Website (und alle ihre Daten) gefährden.
Datenbank
Eine Datenbank ist eine Sammlung von Informationen, die für Computer zugänglich ist. Datenbanken werden verwendet, um Informationen wie Kundenakten, Produktkataloge und finanzielle Transaktionen zu speichern.
Mehr lesenDeshalb müssen Sie kontrollieren, wer Ihre Daten sehen, darauf zugreifen und sie ändern kann, um Ihre Website sicher und reibungslos zu betreiben.
Dieser Beitrag führt Sie durch die Grundlagen der MySQL-Benutzerverwaltung, von der Erstellung von Benutzerkonten bis zur Zuweisung und Änderung von Berechtigungen.
Bereit einzusteigen? Anfangen!
Was ist eine MySQL-Datenbank?
Eine MySQL-Datenbank ist eine strukturierte Sammlung von elektronisch gespeicherten Daten, die mit dem MySQL Database Management System (DBMS) verwaltet wird.
MySQL, ein Open-Source relationales Datenbankmanagementsystem, verwendet Structured Query Language (SQL) zum Zugreifen, Verwalten und Manipulieren der Daten.
Eine MySQL-Datenbank ist darauf ausgelegt, alles von einer einzelnen Informationszeile bis zu großen Datensätzen mit Millionen von Zeilen zu verarbeiten. Sie ist darauf ausgelegt, Daten in Tabellen zu speichern, die in Zeilen und Spalten organisiert sind. Jede Tabelle in einer MySQL-Datenbank dient einem spezifischen Zweck und enthält Daten, die sich auf verschiedene Aspekte Ihrer Website oder Webanwendung beziehen.
MySQL ist bekannt für seine Zuverlässigkeit und Benutzerfreundlichkeit. Webentwickler aus verschiedenen Branchen verwenden es für Webanwendungen, Protokollierungsanwendungen, Datenlagerung und mehr. Ob Sie Benutzerinformationen, Produktkataloge oder Transaktionsaufzeichnungen speichern, MySQL ist robust und skalierbar und kann wahrscheinlich Ihre Datenbankverwaltungsbedürfnisse erfüllen.
Profi-Tipp: Müssen Sie eine MySQL-Datenbank migrieren oder mit Ihrer DreamHost-Website verbinden? Finden Sie ein leicht verständliches Tutorial in unserer Wissensdatenbank.
MySQL-Benutzerkonten erklärt
MySQL-Benutzerkonten sind unerlässlich für die Verwaltung des Zugriffs auf Ihre Datenbank. Jedem Benutzerkonto in MySQL können spezifische Berechtigungen zugewiesen werden, die festlegen, welche Aktionen der Benutzer ausführen kann. Diese granulare Kontrolle hilft, die Sicherheit und Integrität Ihrer Daten zu gewährleisten.
Die Rolle des Root-Benutzers
Wenn Sie MySQL zum ersten Mal installieren, wird ein Standardbenutzerkonto namens Root erstellt.
Der Root-Benutzer hat volle administrative Privilegien, was bedeutet, dass er jede Aktion auf der Datenbank ausführen kann, einschließlich Erstellen und Löschen von Datenbanken, Hinzufügen und Entfernen von Benutzern sowie das Gewähren und Entziehen von Berechtigungen.
Obwohl der Root-Benutzer mächtig ist, empfehlen wir nicht, sich ausschließlich auf dieses Konto für alle Aufgaben zu verlassen. Die Verwendung des Root-Kontos für alltägliche Operationen stellt ein erhebliches Sicherheitsrisiko dar.
Wenn jemand unbefugten Zugriff auf dieses Konto erhält, hat er die Kontrolle über Ihre Datenbank.
Warum neue Benutzer erstellen?
Für eine bessere Sicherheit und um die Datenbankverwaltung zu optimieren, ist es am besten, spezifische Benutzerkonten für verschiedene Zwecke zu erstellen.
Zum Beispiel könnten Sie separate Konten für Entwickler, Administratoren und Anwendungsprozesse erstellen und jedem Kontotyp nur die erforderlichen Berechtigungen geben, die sie benötigen, um ihre Aufgaben auszuführen. Auf diese Weise minimieren Sie das Risiko von versehentlichen oder bösartigen Handlungen, die die Integrität und Sicherheit Ihrer Datenbank beeinträchtigen könnten.
Das Erstellen neuer Benutzerkonten ermöglicht Ihnen:
- Verbessern Sie die Datenbank- und Website-Sicherheit: Beschränken Sie den Zugang zu sensiblen Daten und kritischen Operationen, indem Sie jedem Benutzer nur die notwendigen Berechtigungen zuweisen.
- Bessere Rollenorganisation: Definieren Sie Rollen und Verantwortlichkeiten innerhalb Ihres Teams klar und geben Sie jedem den angemessenen Zugang zu den Aufgaben, die erledigt werden müssen.
- Vereinfachen Sie die Verwaltung Ihrer Datenbank: Verfolgen und verwalten Sie Benutzeraktivitäten einfach, um Änderungen zu prüfen und Probleme zu identifizieren.
Wie Sie Ihre MySQL-Benutzer verwalten (Zwei Methoden)
Wir werden zwei Hauptmethoden zur Verwaltung Ihrer MySQL-Benutzer behandeln: die direkte Verwendung von MySQL und die Verwendung des DreamHost-Panels. Am Ende hängt es von Ihrem Komfortniveau mit Befehlszeilen-Tools und Ihren spezifischen Anforderungen ab, welche Methode Sie verwenden.
Benutzerverwaltung mit MySQL
Um MySQL-Benutzer direkt über MySQL zu verwalten, müssen Sie MySQL auf Ihrem System installiert haben.
Dies beinhaltet das Herunterladen der MySQL-Software von der offiziellen MySQL-Website, die Installation und die Konfiguration gemäß den Anforderungen Ihres Betriebssystems.
Nach der Installation können Sie mit Ihrem MySQL-Datenbank über den MySQL-Befehlszeilen-Client interagieren.
Nerd Note: Die meisten der folgenden Befehle können nur auf dedizierten Servern verwendet werden. Sie können unsere Wissensdatenbank für weitere Informationen besuchen.
Um MySQL zu installieren, folgen Sie diesen Schritten:
- Besuchen Sie die offizielle Website von MySQL, laden Sie den Installer herunter und folgen Sie den Installationsanweisungen für Ihr Betriebssystem (Windows, macOS oder Linux).
- Nach der Installation müssen Sie den MySQL-Server konfigurieren, um die anfänglichen Benutzerkonten und Sicherheitseinstellungen einzurichten.
- Verwenden Sie das Terminal (unter macOS und Linux) oder die Eingabeaufforderung (unter Windows), um auf die MySQL-Befehlszeilenschnittstelle zuzugreifen, indem Sie den Befehl
mysql -u root -p
eingeben, gefolgt von Ihrem Root-Passwort.
Sobald Sie MySQL eingerichtet haben, können Sie Benutzerkonten mithilfe von SQL-Befehlen erstellen, verwalten und löschen.
Diese Methode bietet Ihnen ein hohes Maß an Kontrolle und Flexibilität, erfordert jedoch, dass Sie mit der SQL-Syntax und Befehlszeilenoperationen vertraut sind (die wir unten detaillierter behandeln werden).
Wie man ein MySQL-Benutzerkonto erstellt
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Sie werden aufgefordert, das Root-Passwort einzugeben. Nach der Authentifizierung sind Sie mit dem MySQL-Server verbunden.
- Um einen neuen Benutzer zu erstellen, verwenden Sie die Anweisung CREATE USER. Ersetzen Sie newuser durch den gewünschten Benutzernamen und password durch ein starkes Passwort für den neuen Benutzer:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- Dieser Befehl erstellt einen neuen Benutzer, der sich nur von der lokalen Maschine (localhost) verbinden kann. Wenn Sie möchten, dass der Benutzer sich von jedem Host verbinden kann, ersetzen Sie localhost durch %.
- Um die Änderungen anzuwenden, führen Sie den Befehl FLUSH PRIVILEGES aus:
FLUSH PRIVILEGES;
Nerd Note: Wenn ein Passwort über die Befehlszeile vergeben wird, ist es eine gute Praxis, den Terminalverlauf zu löschen, um das Risiko zu verringern, dass jemand über ein Passwort stolpert.
Wie man einem MySQL-Benutzer Privilegien erteilt
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um sich mit dem MySQL-Server zu verbinden.
- Verwenden Sie die GRANT Anweisung, um einem Benutzer spezifische Privilegien zuzuweisen. Privilegien können für spezifische Datenbanken, Tabellen oder sogar Spalten vergeben werden. Hier sind einige gängige Beispiele:
- Gewähren Sie alle Privilegien auf einer spezifischen Datenbank (Dieser Befehl gewährt alle Privilegien auf der exampledb Datenbank für den Benutzer newuser, der sich von localhost verbindet):
GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'localhost';
- Gewähren Sie spezifische Privilegien auf einer spezifischen Datenbank (Dieser Befehl gewährt nur die SELECT, INSERT und UPDATE Privilegien auf der exampledb Datenbank für den Benutzer newuser, der sich von localhost verbindet):
GRANT SELECT, INSERT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Gewähren Sie alle Privilegien auf allen Datenbanken (Dieser Befehl gewährt alle Privilegien auf allen Datenbanken für den Benutzer newuser, der sich von localhost verbindet. Die Option WITH GRANT OPTION ermöglicht es dem Benutzer, Privilegien an andere Benutzer zu vergeben):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
- Gewähren Sie Privilegien auf spezifischen Tabellen (Dieser Befehl gewährt SELECT und INSERT Privilegien auf der Tabelle exampletable innerhalb der exampledb Datenbank an den Benutzer newuser):
GRANT SELECT, INSERT ON exampledb.exampletable TO 'newuser'@'localhost';
- Gewähren Sie alle Privilegien auf einer spezifischen Datenbank (Dieser Befehl gewährt alle Privilegien auf der exampledb Datenbank für den Benutzer newuser, der sich von localhost verbindet):
- Um die Änderungen anzuwenden, verwenden Sie den Befehl FLUSH PRIVILEGES:
FLUSH PRIVILEGES;
Wie man Berechtigungen für einen MySQL-Benutzer sieht
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um sich mit dem MySQL-Server zu verbinden.
- Das SHOW GRANTS-Statement wird verwendet, um die einem bestimmten Benutzer erteilten Privilegien anzuzeigen. Um die Privilegien für einen bestimmten Benutzer zu sehen, verwenden Sie den folgenden Befehl und ersetzen Sie newuser mit dem Benutzernamen und localhost mit dem Host, von dem aus sich der Benutzer verbindet:
SHOW GRANTS FOR 'newuser'@'localhost';
- Überprüfen Sie sorgfältig die aufgelisteten Privilegien, um sicherzustellen, dass der Benutzer die korrekten Berechtigungen hat. Wenn Anpassungen erforderlich sind, können Sie die Privilegien des Benutzers mit den GRANT oder REVOKE Statements ändern, die wir in den nächsten Abschnitten behandeln werden.
Wie man Berechtigungen für einen MySQL-Benutzer ändert
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um sich mit dem MySQL-Server zu verbinden.
- Um einem Benutzer zusätzliche Privilegien zu gewähren, verwenden Sie die GRANT-Anweisung. Zum Beispiel, um das UPDATE-Privileg für die Datenbank exampledb an newuser von localhost zu gewähren, verwenden Sie:
GRANT UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Um einem Benutzer spezifische Privilegien zu entziehen, verwenden Sie die REVOKE-Anweisung. Zum Beispiel, um das INSERT-Privileg für die Datenbank exampledb von newuser von localhost zu entziehen, verwenden Sie:
REVOKE INSERT ON exampledb.* FROM 'newuser'@'localhost';
- Nach der Verwendung von GRANT oder REVOKE, denken Sie daran, die Änderungen durch den Befehl FLUSH PRIVILEGES zu übernehmen:
FLUSH PRIVILEGES;
Wenn Sie die Berechtigungen eines Benutzers vollständig ändern müssen, kann es einfacher sein, zuerst alle bestehenden Berechtigungen zu entziehen und dann die neue Berechtigungsgruppe zu erteilen. Um einem Benutzer alle Berechtigungen zu entziehen, verwenden Sie: REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'newuser'@'localhost';
Dann gewähren Sie die neue Reihe von Berechtigungen wie erforderlich: GRANT SELECT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
Vergessen Sie nicht, die Privilegien nach diesen Änderungen zu leeren: FLUSH PRIVILEGES;
Wie man einen MySQL-Benutzer löscht
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um sich mit dem MySQL-Server zu verbinden.
- Verwenden Sie die Anweisung DROP USER, um das Benutzerkonto zu löschen. Ersetzen Sie newuser durch den Benutzernamen und localhost durch den Host, von dem aus sich der Benutzer verbindet:
DROP USER 'newuser'@'localhost';
- Wenn sich der Benutzer von jedem Host aus verbinden kann, verwenden Sie:
DROP USER 'newuser'@'%';
- Bevor Sie einen Benutzer löschen, ist es eine gute Praxis sicherzustellen, dass keine Objekte (wie Trigger oder Prozeduren) von dem Benutzer abhängen. Wenn Sie dies tun, werden Sie keine unerwarteten Probleme haben, nachdem der Benutzer entfernt wurde. Sie können abhängige Objekte in Ihrer Datenbank überprüfen und gegebenenfalls das Eigentum neu zuweisen.
- Obwohl die Anweisung DROP USER das Benutzerkonto und seine Privilegien entfernt, ist es ratsam, die Privilegien zu leeren, um sicherzustellen, dass alle Änderungen sofort angewendet werden:
FLUSH PRIVILEGES;
Wie man Benutzer für eine MySQL-Datenbank anzeigt
Alle Benutzer in Ihrer MySQL-Datenbank anzusehen, ist eine nützliche Methode, um Benutzerkonten zu verwalten und zu überprüfen. Dann wissen Sie, wer Zugang zu Ihrer Datenbank hat und welche Berechtigungen sie haben.
Wenn Sie mit MySQL-Befehlen vertraut sind, könnten Sie denken, dass es einen SHOW USERS Befehl gibt — ähnlich den SHOW DATABASES oder SHOW TABLES Befehlen, die Sie wahrscheinlich bereits kennen und verwenden. Allerdings existiert SHOW USERS nicht.
Wie sehen Sie alle Ihre Datenbankbenutzer? Befolgen Sie diese Schritte.
- Melden Sie sich als Root-Benutzer am MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um sich mit dem MySQL-Server zu verbinden.
- MySQL speichert Benutzerkontoinformationen in der mysql.user Tabelle. Um alle Benutzerkonten anzuzeigen, können Sie die folgende SQL-Abfrage ausführen, um eine Liste aller Benutzer und der Hosts, von denen aus sie sich verbinden können, anzuzeigen:
SELECT user, host FROM mysql.user;
- Wenn Sie detailliertere Informationen über jeden Benutzer benötigen, wie zum Beispiel ihre Berechtigungen oder andere Einstellungen, können Sie zusätzliche Spalten aus der mysql.user Tabelle abfragen. Beispiel:
SELECT user, host, authentication_string, plugin FROM mysql.user;
- Um spezifische Benutzer zu filtern und anzuzeigen, können Sie Ihrer Abfrage eine WHERE-Klausel hinzufügen. Um zum Beispiel Benutzer anzuzeigen, die sich von localhost verbinden, verwenden Sie:
SELECT user, host FROM mysql.user WHERE host = 'localhost';
Benutzer mit DreamHost verwalten
Wenn die Vorstellung, Kommandozeilen-Tools zu verwenden, einschüchternd wirkt, bietet das DreamHost Panel eine benutzerfreundliche Alternative zur Verwaltung von MySQL-Benutzern.
Das DreamHost Panel ist eine webbasierte Schnittstelle, die Datenbankverwaltungsaufgaben vereinfacht, sodass Sie keine Befehlszeilen verwenden müssen.
Für detaillierte Tutorials zum Zugriff auf Ihre Datenbank, Hinzufügen und Löschen von Benutzern, Verwalten von Berechtigungen und mehr, besuchen Sie unsere Wissensdatenbank-Seite für MySQL-Datenbanken.
Und wenn Sie nach einem zuverlässigen verwalteten Hosting für Ihre Website suchen, das nicht nur die Datenbankverwaltung mit einem intuitiven Control Panel vereinfacht, sondern auch kostenlose Migration, 24/7-Support und Verfügbarkeitsgarantien bietet – dann benötigen Sie DreamHost.
Sehen Sie sich unsere erschwinglichen Hosting-Pläne an und erfahren Sie, warum Millionen von Menschen und Unternehmen sich für uns entscheiden!
Das Höchste an Leistung, Sicherheit und Kontrolle
Dedizierte Server von DreamHost verwenden die beste Hardware und Software, die verfügbar ist, um sicherzustellen, dass Ihre Website immer verfügbar und immer schnell ist.
Mehr sehen