MySQL, Permission Ausgabe
-
20-09-2019 - |
Frage
Ich habe eine MySQL-Datenbank, die mehrere Datenbanken hat um mehr als 1 Web-App verwendet.
Ich muss jetzt eine neue Datenbank erstellen, die nur über ein neues Benutzerkonto zugegriffen werden kann. Ich habe mit Navicat v5.3.3 Benutzer verwalten zu versuchen, diese bis zu setzen, aber es scheint nicht zu arbeiten, und ich weiß nicht, ob das bec von MySQL oder Navicat.
Aber da ich einen neuen DB will, dass ein neues Konto nur Zugriff (nicht die anderen dbs) was ist der beste Weg, um diese bis zu setzen?
Danke
Lösung
Sie müssen nur Ihre Datenbank erstellen und die gewünschten Zugriffsrechte für den Benutzer zu gewähren, sollten Sie ein MySQL-Abfrage-Tool starten und folgende Abfragen geben:
CREATE DATABASE foobar;
GRANT ALL PRIVILEGES ON foobar.* TO 'foobar_user'@'localhost'
IDENTIFIED BY 'goodsecret';
Sie können einen Blick auf die MySQL-Handbuch nehmen hier
Andere Tipps
Ich würde in der Regel verwenden phpMyAdmin oder die MySQL-Kommandozeilen-Schnittstelle. Erstellen Sie die Datenbank und (mit Ihrem Superuser-Account), stellen Sie sicher, dass der Benutzer auf dieser Datenbank entsprechende Berechtigungen hat.
So etwas wie:
CREATE DATABASE database_name;
GRANT ALL ON database_name.* TO new_user@'localhost' IDENTIFIED BY 'password';
Das gibt ‚neuer_Benutzer‘ alle Privilegien über den Inhalt von Datenbanknamen, vorausgesetzt, dass Benutzer von localhost verbunden sind mit ‚password‘.
Wenn Sie eine GUI wollen aber - ich phpMyAdmin sehr empfehlen ( http://www.phpmyadmin.net/)
EDIT: Basierend auf Ihrer Beschreibung, werden Sie auch sicher, dass die Berechtigungen für die anderen Datenbanken machen wollen, setzen Sie diesen neuen Benutzer zu verhindern, dass sie Zugriff auf; Sie können ‚SHOW GRANTS‘ verwenden, um zu sehen, welche Benutzer Privilegien haben, über die Tabellen - siehe http: // en. wikipedia.org/wiki/Internet_Explorer_box_model_bug