So erstellen und verwalten Sie MySQL-Benutzer
Stellen Sie sich eine Bibliothek vor, in der jeder jederzeit hereinkommen und Änderungen an den Büchern vornehmen kann.
Sie kommen herein, um auszuchecken Herr der Ringedoch plötzlich ist es keine zeitlose Geschichte über Freundschaft und Mut angesichts des alles verzehrenden Bösen mehr, sondern das genaue Gegenteil.
Jemand hat Frodos und Sams Heldenreise nach Mordor umgeschrieben. Sie geben die Rettung Mittelerdes auf und eröffnen stattdessen ein Juweliergeschäft in Bree. Ihr erster Kunde? Sauron. Und wer hätte das gedacht, er ist auf der Suche nach einem Ring.
Und was Aragorn, Legolas und Gimli betrifft? Sagen wir einfach, wer auch immer die Geschichte redigiert hat, ist sehr in Fanfiction. Dabei belassen wir es.
Ihre Website ist wie diese Bibliothek und die Datenbank, die sie betreibt, ist wie alle Bücher darinWenn Sie praktisch jedem Zugriff gewähren, um Änderungen vorzunehmen, könnte das Ergebnis ein Herr der Ringe Umschreibsituation – aber viel schlimmer, weil es Ihre gesamte Site (und alle ihre Daten) gefährden könnte.
Datenbank
Eine Datenbank ist eine Sammlung von Informationen, auf die Computer zugreifen können. Datenbanken werden zum Speichern von Informationen wie Kundendatensätzen, Produktkatalogen und Finanztransaktionen verwendet.
Mehr lesen
Deshalb müssen Sie kontrollieren, wer Ihre Daten sehen, darauf zugreifen und sie ändern kann, damit Ihre Site sicher ist und reibungslos läuft.
Dieser Beitrag führt Sie durch die Grundlagen der MySQL-Benutzerverwaltung, vom Erstellen von Benutzerkonten bis zum Zuweisen und Ändern von Berechtigungen.
Bereit einzutauchen? Dann legen wir los!
Was ist eine MySQL-Datenbank?
Eine MySQL-Datenbank ist eine strukturierte Sammlung elektronisch gespeicherter und mit dem MySQL-Datenbankverwaltungssystem (DBMS) verwalteter Daten.
MySQL, ein Open-Source-Verwaltungssystem für relationale Datenbanken, verwendet Structured Query Language (SQL) für den Zugriff auf die Daten sowie deren Verwaltung und Bearbeitung.
Eine MySQL-Datenbank ist darauf ausgelegt, alles zu verarbeiten, von einer einzelnen Informationszeile bis hin zu großen Datensätzen mit Millionen von Zeilen. Sie ist darauf ausgelegt, Daten in Tabellen zu speichern, die in Zeilen und Spalten organisiert sind. Jede Tabelle in einer MySQL-Datenbank dient einem bestimmten Zweck und enthält Daten, die für verschiedene Aspekte Ihrer Site oder Webanwendung relevant sind.
MySQL ist bekannt für seine Zuverlässigkeit und Benutzerfreundlichkeit. Webentwickler aus allen Branchen verwenden es für Webanwendungen, Protokollierungsanwendungen, Data Warehousing und mehr. Egal, ob Sie Benutzerinformationen, Produktkataloge oder Transaktionsdatensätze speichern, MySQL ist robust und skalierbar und kann wahrscheinlich Ihren Anforderungen an die Datenbankverwaltung gerecht werden.
Profi-Tipp: Müssen Sie eine MySQL-Datenbank mit Ihrer DreamHost-Site migrieren oder verbinden? In unserer Knowledge Base finden Sie ein leicht verständliches Tutorial.
MySQL-Benutzerkonten erklärt
MySQL-Benutzerkonten sind für die Verwaltung des Zugriffs auf Ihre Datenbank unerlässlich. Jedem Benutzerkonto in MySQL können spezifische Berechtigungen erteilt werden, die bestimmen, welche Aktionen der Benutzer ausführen kann. Diese detaillierte Kontrolle trägt dazu bei, die Sicherheit und Integrität Ihrer Daten zu gewährleisten.
Die Rolle des Root-Benutzers
Bei der ersten Installation von MySQL wird ein Standardbenutzerkonto mit dem Namen Wurzel geschaffen.
Der Root-Benutzer verfügt über vollständige Administratorrechte. Dies bedeutet, dass er alle Aktionen für die Datenbank ausführen kann, darunter das Erstellen und Löschen von Datenbanken, das Hinzufügen und Entfernen von Benutzern sowie das Erteilen oder Widerrufen von Berechtigungen.
Obwohl der Root-Benutzer über umfangreiche Berechtigungen verfügt, empfehlen wir nicht, sich bei allen Aufgaben ausschließlich auf dieses Konto zu verlassen. Die Verwendung des Root-Kontos für alltägliche Vorgänge stellt ein erhebliches Sicherheitsrisiko dar.
Wenn sich jemand unbefugten Zugriff auf dieses Konto verschafft, hat er Kontrolle über Ihre Datenbank.
Warum neue Benutzer erstellen?
Zur Verbesserung der Sicherheit und zur Optimierung der Datenbankverwaltung empfiehlt es sich, für unterschiedliche Zwecke spezifische Benutzerkonten zu erstellen.
Sie können beispielsweise separate Konten für Entwickler, Administratoren und Anwendungsprozesse erstellen und jedem Kontotyp nur die Berechtigungen erteilen, die er zum Ausführen seiner Aufgaben benötigt. Auf diese Weise minimieren Sie das Risiko versehentlicher oder böswilliger Aktionen, die die Integrität und Sicherheit Ihrer Datenbank beeinträchtigen könnten.
Durch das Erstellen neuer Benutzerkonten können Sie:
- Verbessern Sie die Datenbank- und Site-Sicherheit: Beschränken Sie den Zugriff auf vertrauliche Daten und kritische Vorgänge, indem Sie jedem Benutzer nur die erforderlichen Berechtigungen zuweisen.
- Rollen besser organisieren: Definieren Sie Rollen und Verantwortlichkeiten innerhalb Ihres Teams klar, indem Sie jedem den entsprechenden Zugriff auf die Aufgaben gewähren, die er erledigen muss.
- Erleichtern Sie die Verwaltung Ihrer Datenbank: Verfolgen und verwalten Sie Benutzeraktivitäten ganz einfach. So können Sie Änderungen einfacher prüfen und Probleme leichter erkennen.
So verwalten Sie Ihre MySQL-Benutzer (zwei Methoden)
Wir behandeln zwei Hauptmethoden zur Verwaltung Ihrer MySQL-Benutzer: die direkte Verwendung von MySQL und die Verwendung des DreamHost-Panels. Welche Methode Sie letztendlich verwenden, hängt von Ihrem Komfort mit Befehlszeilentools und Ihren spezifischen Anforderungen ab.
Verwalten von Benutzern mit MySQL
Um MySQL-Benutzer direkt über MySQL zu verwalten, muss MySQL auf Ihrem System installiert sein.
Dazu müssen Sie die MySQL-Software von der offiziellen MySQL-Website herunterladen, installieren und entsprechend den Anforderungen Ihres Betriebssystems konfigurieren.
Nach der Installation können Sie über den MySQL-Befehlszeilenclient mit Ihrer MySQL-Datenbank interagieren.
Nerd-Hinweis: Die meisten der folgenden Befehle können nur auf dedizierten Servern verwendet werden. Weitere Informationen finden Sie in unserer Knowledge Base.
Um MySQL zu installieren, führen Sie diese Schritte aus:
- Besuchen Sie die offizielle MySQL-Website, laden Sie das Installationsprogramm 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 erste Benutzerkonten und Sicherheitseinstellungen einzurichten.
- Verwenden Sie Terminal (unter macOS und Linux) oder die Eingabeaufforderung (unter Windows), um auf die MySQL-Befehlszeilenschnittstelle zuzugreifen, indem Sie den Befehl eingeben
mysql -u root -p
gefolgt von Ihrem Root-Passwort.
Sobald Sie MySQL eingerichtet haben, können Sie mit SQL-Befehlen Benutzerkonten erstellen, verwalten und löschen.
Diese Methode gibt Ihnen ein hohes Maß an Kontrolle und Flexibilitäterfordert jedoch, dass Sie mit der SQL-Syntax und Befehlszeilenoperationen vertraut sind (auf die wir weiter unten ausführlicher eingehen).
So erstellen Sie ein MySQL-Benutzerkonto
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Sie werden aufgefordert, das Root-Passwort einzugeben. Nach der Authentifizierung werden Sie mit dem MySQL-Server verbunden.
- Um einen neuen Benutzer anzulegen, verwenden Sie das BENUTZER ERSTELLEN Aussage. Ersetzen neuer Benutzer mit dem gewünschten Benutzernamen und Passwort mit einem starken Passwort für den neuen Benutzer:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- Dieser Befehl erstellt einen neuen Benutzer, der sich nur vom lokalen Computer aus verbinden kann (lokaler Host). Wenn der Benutzer sich von jedem beliebigen Host aus verbinden soll, ersetzen Sie lokaler Host mit %.
- Um die Änderungen anzuwenden, führen Sie den FLUSH-PRIVILEGIEN Befehl:
FLUSH PRIVILEGES;
Nerd-Hinweis: Wenn ein Kennwort über die Eingabeaufforderung zugewiesen wird, empfiehlt es sich, den Terminalverlauf zu löschen, um das Risiko zu verringern, dass jemand über ein Kennwort stolpert.
So erteilen Sie einem MySQL-Benutzer Berechtigungen
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um eine Verbindung mit dem MySQL-Server herzustellen.
- Verwenden Sie die GEWÄHREN Anweisung, um einem Benutzer bestimmte Berechtigungen zuzuweisen. Berechtigungen können für bestimmte Datenbanken, Tabellen oder sogar Spalten erteilt werden. Hier sind einige gängige Beispiele:
- Alle Berechtigungen für eine bestimmte Datenbank erteilen (Dieser Befehl erteilt alle Berechtigungen für die BeispielDB Datenbank an den Benutzer neuer Benutzer Verbindung von lokaler Host):
GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'localhost';
- Gewähren Sie bestimmte Berechtigungen für eine bestimmte Datenbank (Dieser Befehl gewährt nur die WÄHLEN, EINFÜGENUnd AKTUALISIEREN Privilegien auf der BeispielDB Datenbank an den Benutzer neuer Benutzer Verbindung von lokaler Host):
GRANT SELECT, INSERT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Alle Berechtigungen für alle Datenbanken erteilen (Dieser Befehl erteilt dem Benutzer alle Berechtigungen für alle Datenbanken. neuer Benutzer Verbindung von lokaler Host. Der MIT ZUSCHUSSOPTION ermöglicht dem Benutzer, anderen Benutzern Berechtigungen zu erteilen):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
- Gewähren Sie Berechtigungen für bestimmte Tabellen (Dieser Befehl gewährt WÄHLEN Und EINFÜGEN Privilegien auf der Beispieltabelle Tabelle innerhalb der BeispielDB Datenbank an den Benutzer neuer Benutzer):
GRANT SELECT, INSERT ON exampledb.exampletable TO 'newuser'@'localhost';
- Alle Berechtigungen für eine bestimmte Datenbank erteilen (Dieser Befehl erteilt alle Berechtigungen für die BeispielDB Datenbank an den Benutzer neuer Benutzer Verbindung von lokaler Host):
- Um die Änderungen anzuwenden, verwenden Sie die FLUSH-PRIVILEGIEN Befehl:
FLUSH PRIVILEGES;
So zeigen Sie die Berechtigungen eines MySQL-Benutzers an
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um eine Verbindung mit dem MySQL-Server herzustellen.
- Der Zuschüsse anzeigen Anweisung wird verwendet, um die Berechtigungen anzuzeigen, die einem bestimmten Benutzer gewährt wurden. Um die Berechtigungen für einen bestimmten Benutzer anzuzeigen, verwenden Sie den folgenden Befehl und ersetzen Sie neuer Benutzer mit dem Benutzernamen und lokaler Host mit dem Host, von dem aus sich der Benutzer verbindet:
SHOW GRANTS FOR 'newuser'@'localhost';
- Überprüfen Sie die aufgeführten Berechtigungen sorgfältig, um sicherzustellen, dass der Benutzer über die richtigen Berechtigungen verfügt. Wenn Anpassungen erforderlich sind, können Sie die Berechtigungen des Benutzers mithilfe des GEWÄHREN oder WIDERRUFEN Anweisungen, die wir in den nächsten Abschnitten behandeln werden.
So ändern Sie die Berechtigungen für einen MySQL-Benutzer
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um eine Verbindung mit dem MySQL-Server herzustellen.
- Um einem Benutzer zusätzliche Rechte zu erteilen, verwenden Sie die GEWÄHREN Erklärung. Um beispielsweise die AKTUALISIEREN Privileg auf dem BeispielDB Datenbank zu neuer Benutzer Verbindung von lokaler Hostverwenden:
GRANT UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Um einem Benutzer bestimmte Berechtigungen zu entziehen, verwenden Sie die WIDERRUFEN Erklärung. Um beispielsweise die EINFÜGEN Privileg auf dem BeispielDB Datenbank von neuer Benutzer Verbindung von lokaler Hostverwenden:
REVOKE INSERT ON exampledb.* FROM 'newuser'@'localhost';
- Nach der Verwendung von GEWÄHREN oder WIDERRUFENdenken Sie daran, Änderungen anzuwenden, indem Sie das FLUSH-PRIVILEGIEN Befehl:
FLUSH PRIVILEGES;
Wenn Sie die Berechtigungen eines Benutzers vollständig ändern müssen, ist es möglicherweise einfacher, alle zunächst die bestehenden Berechtigungen und dann die neuen Berechtigungen. Um einem Benutzer alle Berechtigungen zu entziehen, verwenden Sie: REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'newuser'@'localhost';
Gewähren Sie dann nach Bedarf die neuen Berechtigungen: GRANT SELECT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
Vergessen Sie nicht, die Berechtigungen zu löschen, nachdem Sie diese Änderungen vorgenommen haben: FLUSH PRIVILEGES;
So löschen Sie einen MySQL-Benutzer
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um eine Verbindung mit dem MySQL-Server herzustellen.
- Verwenden Sie die BENUTZER LÖSCHEN Anweisung zum Löschen des Benutzerkontos. Ersetzen neuer Benutzer mit dem Benutzernamen und m Abonnieren mit dem Host, von dem aus sich der Benutzer verbindet:
DROP USER 'newuser'@'localhost';
- Wenn der Benutzer von jedem Host aus eine Verbindung herstellen kann, verwenden Sie:
DROP USER 'newuser'@'%';
- Bevor Sie einen Benutzer löschen, sollten Sie sicherstellen, dass keine Objekte (wie Trigger oder Prozeduren) von dem Benutzer abhängen. Wenn Sie dies tun, treten nach dem Entfernen des Benutzers keine unerwarteten Probleme auf. Sie können abhängige Objekte in Ihrer Datenbank überprüfen und den Besitz bei Bedarf neu zuweisen.
- Obwohl die BENUTZER LÖSCHEN Anweisung das Benutzerkonto und seine Berechtigungen entfernt, ist es ratsam, die Berechtigungen zu löschen, um sicherzustellen, dass alle Änderungen sofort angewendet werden:
FLUSH PRIVILEGES;
So zeigen Sie Benutzer für eine MySQL-Datenbank an
Das Anzeigen aller Benutzer in Ihrer MySQL-Datenbank ist eine nützliche Möglichkeit, Benutzerkonten zu verwalten und zu prüfen. Dann wissen Sie, wer Zugriff auf Ihre Datenbank hat und welche Berechtigungen die Person hat.
Wenn Sie mit MySQL-Befehlen vertraut sind, denken Sie vielleicht, es gäbe eine BENUTZER ANZEIGEN Befehl — ähnlich dem DATENBANKEN ANZEIGEN oder TABELLEN ANZEIGEN Befehle, die Sie wahrscheinlich bereits kennen und verwenden. BENUTZER ANZEIGEN existiert nicht.
Wie können Sie alle Ihre Datenbankbenutzer sehen? Befolgen Sie diese Schritte.
- Melden Sie sich als Root-Benutzer beim MySQL-Server an. Geben Sie den folgenden Befehl ein:
mysql -u root -p
. - Geben Sie Ihr Root-Passwort ein, um eine Verbindung mit dem MySQL-Server herzustellen.
- MySQL speichert Benutzerkontoinformationen im mysql.Benutzer Tabelle. Um alle Benutzerkonten anzuzeigen, können Sie die folgende SQL-Abfrage ausführen, um eine Liste aller Benutzer und der Hosts anzuzeigen, von denen aus sie eine Verbindung herstellen können:
SELECT user, host FROM mysql.user;
- Wenn Sie detailliertere Informationen zu den einzelnen Benutzern benötigen, z. B. deren Berechtigungen oder andere Einstellungen, können Sie zusätzliche Spalten aus dem mysql.Benutzer Tabelle. Beispiel:
SELECT user, host, authentication_string, plugin FROM mysql.user;
- Um bestimmte Benutzer zu filtern und anzuzeigen, können Sie einen WO Klausel zu Ihrer Abfrage. Um beispielsweise Benutzer anzuzeigen, die eine Verbindung herstellen von lokaler Hostverwenden:
SELECT user, host FROM mysql.user WHERE host = 'localhost';
Verwalten von Benutzern mit DreamHost
Wenn Ihnen die Verwendung von Befehlszeilentools zu mühsam erscheint, 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 Eingabeaufforderungen verwenden müssen.
Detaillierte Anleitungen zum Zugriff auf Ihre Datenbank, zum Hinzufügen und Löschen von Benutzern, zum Verwalten von Berechtigungen und mehr finden Sie auf unserer Knowledge Base-Seite für MySQL-Datenbanken.
Und wenn Sie nach einem zuverlässigen Managed Hosting für Ihre Website suchen, das nicht nur die Datenbankverwaltung mit einem intuitiven Bedienfeld vereinfacht, sondern auch kostenlose Migration, Support rund um die Uhr und Verfügbarkeitsgarantien bietet, dann brauchen Sie DreamHost.
Schauen Sie sich unsere günstigen Hosting-Pläne an und erfahren Sie, warum sich Millionen von Menschen und Unternehmen für uns entscheiden!
Dediziertes Hosting
Das Höchstmaß an Leistung, Sicherheit und Kontrolle
Dedizierte Server von DreamHost verwenden die beste verfügbare Hardware und Software, um sicherzustellen, dass Ihre Site immer verfügbar und immer schnell ist.
Mehr sehen