
Wenn wir mit arbeiten Datenbanken, Wir können manchmal die Notwendigkeit, einige haben. Benutzer-Zugriffe einige von Ihnen, Vielleicht sind wir in Phasen Entwicklung entweder brauchen wir diese Benutzer machen oder jede Art von Bericht oder Statistiken zu generieren, aber ohne Dies Sie können ausführen jede Art von ändern in der gleichen.
Dazu, Es ist Erstellen, in dem InterBase Server, Daten ein Benutzer haben nur Berechtigungen durchführen Konsultationen, vermeiden, dass Einfügungen ausgeführt werden können, Updates oder jede andere Tätigkeit auf die betreffende Datenbank.
So fügen Sie einen nur-Lese Benutzer mit einer MySQL-Datenbank
Es ist etwas ganz einfache Erstellen und geben Sie Privilegien der nur-Lese um eine Benutzer in einem Datenbank in MySQL, und mal sehen, wie Sie es tun können.
Dazu, verbinden, durch die Terminal-Konsole, um Ihren Server MySQL-Datenbank mit einem Konto, das können Sie Benutzer erstellen und Berechtigungen zuweisen, normalerweise Stamm oder ein anderes ähnliches Konto.
Einmal verbunden, erstellt der Benutzer Wie würden Sie es normalerweise tun:
1 | mysql > CREATE USER 'nombre_usuario'@'%' IDENTIFIED by 'contrasena'; |
Wie Sie wissen, ersetzt user_name der Benutzer, den Sie erstellen möchten, Passwort das Kennwort, das Sie zuweisen möchten, und je nach Art des Zugangs, dass Sie diesen Benutzer wollen, Lassen Sie % so ist oder Sie können die IP oder Server name woraus diese single-User dürfen verbinden.
Nach der Erstellung des Benutzers, Wir gehen zum Berechtigung erteilen nur für SELECT-Operationen auf der Grundlage von Daten. Dazu, führen Sie den folgenden Befehl:
1 | mysql > GRANT SELECT ON *.* TO 'nombre_usuario'@'%'; |
Auf diese Weise geben Sie nur-Lese Berechtigung Dieser Benutzer für alle Datenbanken Server, Obwohl Begrenzbarkeit noch mehr Privilegien, und können die Berechtigung für erteilen eine einzelne Datenbank, einfach auf diese Weise:
1 | mysql > GRANT SELECT ON nombre_base_de_datos.* TO 'nombre_usuario'@'%'; |
Einmal erstellt der Benutzer und zugewiesenen Berechtigungen, kann führen Sie den test Diese funktionieren richtig. Dazu, schließt die vorherige Sitzung mit dem Server und öffnet ein neue Sitzung mit diesem Benutzer:
1 | $ mysql -u nombre_usuario -p |
Einmal eingeloggt, Wählen Sie die Datenbank, auf die Sie die Erlaubnis gegeben haben, und Test zu einer INSERT oder update vorhandene Daten:
1 2 3 | mysql > USE nombre_base_de_datos; mysql > UPDATE nombre_tabla SET nombre_campo = 'valor_campo' WHERE ID = identificador; ERROR 1142 (42000): UPDATE command denied to user 'nombre_usuario'@'%localhost' for table 'nombre_tabla'; |
Du bist bereit! Erstellen Sie einfach eine neuer Benutzer in Ihrem MySQL-Datenbank Du hast getan haben nur Privilegien der nur-Lese, Vermeidung von diesem machen irgendeine Art des Wandels auf die Datenbanken auf die Sie Zugriff haben.
