Der folgende Befehl bietet alle Berechtigungen in allen Datenbanken für den Benutzer 'admin'. Es erlaubt 'admin' jedoch nicht, eine Datenbank zu erstellen.
GRANT ALL ON * . * TO 'admin'@'localhost';
Wie kann ich 'admin' den Zugriff zum Erstellen einer Datenbank gewähren?
Beim Versuch, eine Datenbank zu erstellen, wird der folgende Fehler angezeigt:
FEHLER 1044 (42000): Zugriff für Benutzer 'admin' @ 'localhost' auf Datenbank 'newdb' verweigert
GRANT ALL ON *.* TO 'admin'@'localhost';
? In Ihrem Beispiel sagen Sie, dass Sie ausgeführt haben :GRANT ALL ON * . * TO 'admin'@'hostname';
, aberhostname
ein eindeutiger Host alslocalhost
.GRANT
?flush privileges;
als root versucht ?Antworten:
ALLE Berechtigungen enthalten "ALLE" außer "MIT GRANT-OPTION" ... Somit kann der Administrator mit dem obigen Befehl auch die Datenbank erstellen.
Möglicherweise möchten Sie den Fehler anzeigen, den Sie erhalten. Beachten Sie, dass Sie in GRANT oben nicht das Kennwort für den Administrator angegeben haben.
Aktualisieren:
Sie sollten in der Lage sein, Folgendes zu tun:
Melden Sie sich als root an und erstellen Sie einen Benutzer:
Login als Admin (ohne Passwort):
Wenn Sie sich anmelden, können Sie Ihre Berechtigungen wie folgt überprüfen:
mysql> show grants;
oder
mysql> show grants for current_user();
mysql> select current_user()
zeigt Ihnen, Benutzer, als den Sie angemeldet sind.quelle
newdb
. * AN 'admin' @ 'localhost' | + --------------------------------------------- ---------------------------- + 2 Zeilen im Satz (0,00 Sek.)Ein neuer Benutzer hat keine Berechtigung, etwas mit den Datenbanken zu tun. Wenn ein neuer Benutzer versucht, sich anzumelden (mit dem Kennwort, dem Kennwort), kann er die MySQL-Shell nicht erreichen.
Daher müssen Sie dem Benutzer den Zugriff gewähren
Die Sternchen in diesem Befehl beziehen sich auf die Datenbank bzw. die Tabelle, auf die sie zugreifen können. Mit diesem speziellen Befehl kann der Benutzer alle Aufgaben in allen Datenbanken und Tabellen lesen, bearbeiten, ausführen und ausführen.
Wenn Sie die Berechtigungen festgelegt haben, die Sie für Ihre neuen Benutzer einrichten möchten, müssen Sie immer alle Berechtigungen neu laden.
Jetzt wären alle Änderungen wirksam.
quelle