Erstellen Sie einen neuen Benutzer in MySQL und geben Sie ihm vollen Zugriff auf eine Datenbank
Ich möchte einen neuen user anlegen in MySQL und geben Sie vollen Zugriff auf nur eine Datenbank, sagen dbTest
dass ich erstellen mit einem Befehl wie create database dbTest;
. Was wäre den MySQL-Befehlen zu tun?
InformationsquelleAutor der Frage jimgh | 2009-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, diese um den Benutzer zu erstellen:
Versuchen, diese, um ihm den Zugriff auf die Datenbank
dbTest
:Wenn Sie den code/Website Zugriff auf MySQL auf der gleichen Maschine, hostname würde localhost.
Nun, die brechen.
GRANT
- Dies ist der Befehl zum erstellen von Benutzern und erteilen von Berechtigungen auf Datenbanken, Tabellen, etc.ALL PRIVILEGES
- Das sagt er der Benutzer alle standard-Berechtigungen. Dies schließt nicht die Berechtigung zur Verwendung der GRANT-Befehl aber.dbtest.*
- Diese Anweisungen von MySQL gelten diese Rechte für die Nutzung in der gesamten Datenbank dbtest. Sie können ersetzen Sie die * bei bestimmten Tabellennamen-oder store-Routinen, wenn Sie wollen.TO 'user'@'hostname'
- "Benutzer" ist der Benutzername des Benutzerkontos, das Sie erstellen. Hinweis: Sie müssen die einfachen Anführungszeichen. 'hostname' sagt MySQL, welche hosts die Benutzer eine Verbindung herstellen kann. Wenn Sie nur wollen, dass es von dem gleichen Computer, verwenden Sielocalhost
IDENTIFIED BY 'password'
- Als würden Sie schon erraten haben, das setzt das Passwort für diesen Benutzer.InformationsquelleAutor der Antwort Dan McGrath
Syntax
Benutzer anlegen in MySQL/MariaDB 5.7.6 und höher, verwenden Sie
BENUTZER ERSTELLEN
- syntax:dann zu gewähren, die alle Zugriff auf die Datenbank (z.B.
my_db
), verwenden SieGRANT
- Syntaxz.B.Wo
ALL
(priv_type) ersetzt werden kann, mit bestimmten Privilegien wieSELECT
INSERT
UPDATE
ALTER
etc.Dann neu laden neu zugewiesene Berechtigungen ausführen:
Ausführung
Laufen über Befehle, die Sie ausführen müssen, um
mysql
Befehl, und geben Sie in die Eingabeaufforderung, dann Abmelden, indemquit
Befehl oder Strg-D.Ausführen von shell, verwenden Sie
-e
parameter (ersetzenSELECT 1
mit einem der oben genannten Befehle):oder print-Anweisung aus dem standard-input:
Wenn Sie haben Zugriff verweigert mit oben angeben
-u
(für Benutzer) und-p
(für Passwort) Parameter, oder für den langfristigen Zugang legen Sie Ihre Anmeldeinformationen in~/.my.cnf
z.B.Shell-integration
Für Menschen, die nicht vertraut mit MySQL-syntax, hier sind praktisch, shell-Funktionen, die leicht zu merken und zu benutzen (um Sie zu verwenden, müssen Sie zum laden der shell-Funktionen weiter unten).
Hier ist ein Beispiel:
Verwendung über Befehle, Sie müssen kopieren&fügen Sie die folgenden Funktionen in Ihre rc Datei (z.B.
.bash_profile
) und laden Sie Ihre shell oder die Quelle der Datei. In diesem Fall geben Sie einfachsource .bash_profile
:InformationsquelleAutor der Antwort kenorb
So erstellen Sie einen Benutzer und gewähren alle Berechtigungen auf eine Datenbank.
Loggen Sie sich in MySQL:
Nun erstellen, und erteilen Sie
Anonyme Benutzer (zum lokalen testen nur)
Alternativ, wenn Sie nur wollen, zu gewähren uneingeschränkten Zugriff auf eine Datenbank (z.B. auf Ihrem lokalen Computer für eine test-Instanz, können Sie den Zugriff anonymer Benutzer, etwa so:
Bewusst sein
Dies ist gut für junk-Daten in der Entwicklung. Tun Sie das nicht mit etwas, die Sie interessieren.
InformationsquelleAutor der Antwort superluminary
ignorieren -p option, wenn das mysql-Benutzer kein Passwort hat oder nur die Taste "[Enter]" - Taste, um durch die pass. Streicher, umgeben von geschweiften Klammern müssen durch aktuelle Werte ersetzt werden.
InformationsquelleAutor der Antwort S.K. Venkat
Können Sie neue Benutzer erstellen mit dem BENUTZER ERSTELLEN - Anweisung, und geben Rechte an Ihnen mit GRANT.
InformationsquelleAutor der Antwort candiru
Dem nachstehenden Befehl wird die Arbeit, wenn Sie möchten, erstellen Sie einen neuen Benutzer gebt ihm den Zugang zu einer bestimmten Datenbank(nicht alle Datenbanken im Mysql) auf deinem localhost.
Dieser gewährt alle Berechtigungen auf eine Datenbank
test_database
(in deinem FalldbTest
), das der Benutzer auf localhost.Überprüfen, welche Berechtigungen, die oben genannten Befehl ausgegeben, die dem Benutzer durch ausführen den nachstehenden Befehl.
Nur im Falle, wenn Sie wollen, zu begrenzen die Benutzer nur Zugriff auf eine einzelne Tabelle
InformationsquelleAutor der Antwort Prabhakar