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

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top