Ich muss einen neuen MySQL-Benutzer mit eingeschränkter Berechtigung für eine vorhandene Amazon RDS-Instanz erstellen. Nachdem ich einige Fehlermeldungen erhalten hatte, konnte ich dies mit dem offiziellen MySQL-Administrator-Tool tun und der Benutzer erscheint nun in der Liste. Ich kann jedoch keine Schemaberechtigungen zuweisen, da alle Benutzer ausgegraut sind. Ich bin als "Hauptbenutzer" angemeldet, der beim Start der Instanz erstellt wurde. Ich bin mir nicht sicher, wo ich von hier aus hingehen soll. Ich habe die RDS-Kommandozeilen-Tools installiert, konnte dort aber auch nichts finden. IdeenErstellen eines neuen MySQL-Benutzers in Amazon RDS-Umgebung
Antwort
Ihre beste Wette ist wahrscheinlich, eine Verbindung zur Datenbank mit einem mysql-Befehlszeilenclient herzustellen und die SQL-Befehle aufzurufen, um einen neuen Benutzer zu erstellen und ihm Berechtigungen zuzuweisen.
Zum Beispiel könnten Sie etwas wie folgt ausführen:
mysql -u [your_master_username] -p -h YOURRDSENDPOINT.rds.amazonaws.com
CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON [your_database].[some_table] TO 'jeffrey'@'%';
auf Fenster, die Sie den mysql.exe-Client verwenden können, wo auch immer das ist.
Nützliche Docs
AWS RDS-Sicherheitsgruppen Dokumentation (ein gemeinsamer Raum der Verwirrung): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html
Benutzererstellung Dokumentation: http://dev.mysql.com/doc/refman/5.5/en/create-user.html
Privileg gewähren Dokumentation: http://dev.mysql.com/doc/refman/5.5/en/grant.html
Ich hatte der größte Erfolg mit MySQL Workbench und Ausführen von Raw SQL gegen RDS:
CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password';
Das größere Problem war Berechtigungen. Zunächst habe ich versucht:
Grant ALL on *.* to 'foo'@'localhost'
... was zu einem Zugriff verweigert Fehler führt.
Die lästige Erlaubnis ist "Super", die RDS mir nicht gibt, und der Reihe nach kann ich nicht gewähren. Als Ergebnis bin ich fest, Berechtigungen von Hand zu tun:
Wenn Sie ALLE auf Ihrer Datenbank gewähren. * Zu 'foo' @ 'localhost' haben Sie möglicherweise mehr Erfolg. * würde Systemdatenbanken (Schemas) einschließen. – Mike
'GRANT USAGE ON *. * TO 'foo' @ 'localhost' getestet auf rds mariadb, ich denke, mysql sollte das gleiche sein. siehe [MySQL auf Amazon RDS] (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) – Leonmax
Ich habe mySQL Werkbank verwendet und es funktioniert gut. gehen Sie einfach zu Verwaltung/Benutzer und Privilegien, drücken Sie "Konto hinzufügen" Knopf unten links, und konfigurieren Sie. Sie können keine SUPER Privilegien geben, aber die meisten anderen
Ich weiß, dass dieser Thread ein paar Jahre alt ist und ich finde ihn immer wieder, also wollte ich ein Update über die AWS RDS und Benutzerberechtigungen bekommen.
Sie können GRANT ALL
nicht für jeden Benutzer mit einem RDS verwenden. Wenn Sie die GRANT ALL
-Anweisung verwenden, versuchen Sie auch, Global
bereitzustellen (da AWS sie Super Permissions
anruft), und mit der Art, auf der das AWS RDS-System eingerichtet wird, ermöglichen sie nicht das Zuweisen von globalen Optionen zu Benutzern.
Sie haben die Berechtigungen für die folgenden auszubrechen:
GRANT SELECT,INSERT,UPDATE,DELETE,DROP on
Diese Benutzer des RDS verbinden zu können, ermöglicht, sobald die Sicherheitseinstellungen Setup sind der Zugriff von Ihren EC2-Instanzen zu ermöglichen oder aus dem Internet.
Ich hoffe, diese Informationen helfen anderen, die auf die gleichen Probleme stoßen, die ich mit den AWS RDS-Systemen sah.
Waldo
Gute Erklärung, Prost. – dkanejs
Es rettet mich auch. Ich war total frustriert, warum ich nach "GRANT ALL" immer noch keine Verbindung herstellen konnte. Jetzt ist es klar. –
Guter Punkt! Fehler für 'ALL' ist:' ERROR 1045 (28000): Zugriff verweigert für Benutzer 'root' @ '%' (mit Passwort: YES) ' – crollywood
ich so erstellt:
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'localhost';
Aber dann wies AWS diesem Benutzer anmelden. Und ich habe versucht, Admin-Privilegien zu ändern, aber keinen Erfolg. Und ich ändern Sie "localhost" zu "%" über MySQL Workbench. (Oder Sie können den Benutzer entfernen und neu erstellen) wie:
CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'%';
Dann erst kann mich durch diesen neuen Benutzer loggin.
- 1. Erstellen eines neuen Menüelements - Wordpress
- 2. Java - Erstellen eines neuen Threads
- 3. Erstellen eines neuen NSCalendar-Kalenders
- 4. Erstellen eines neuen Mitglieds programmgesteuert in Umbraco
- 5. Erstellen eines neuen Location-Objekts in JavaScript
- 6. In Javascript - Erstellen eines neuen Objekts
- 7. Erstellen eines neuen Datensatzes in Join Tabelle
- 8. Erstellen eines neuen Datenrahmens mit leeren Feldwerten
- 9. Erstellen eines neuen TinyMCE-Formular-Widget
- 10. Select2 Event zum Erstellen eines neuen Tags
- 11. Fehler beim Erstellen eines neuen Entitätsdatenmodells
- 12. Erstellen eines neuen WordPress-Benutzers mit Webservice
- 13. Gradle Standardabhängigkeiten beim Erstellen eines neuen Projekts
- 14. Sitecore Erstellen eines neuen Vorlagenelements mit SPE
- 15. Erstellen eines neuen Vektors mit einer Transformation
- 16. NullPointerException beim Erstellen eines neuen Dialogfelds
- 17. System.ArgumentNullException beim Erstellen eines neuen Silverlight-Projekts
- 18. Fehlender Vorlagenfehler beim Erstellen eines neuen Benutzers
- 19. Standardwerte beim Erstellen eines neuen Elements zuweisen
- 20. Erstellen eines neuen TCP-Sockets - Serverseite
- 21. Erstellen eines neuen Code-Refactorings für ReSharper
- 22. Erstellen eines neuen Objekts in der abstrakten Klasse in Java
- 23. Speichereffizienz beim Löschen eines HashSets vs. Erstellen eines neuen HashSets
- 24. Hinzufügen eines neuen Favoriten: Erstellen eines Formulars mit der current_user.id
- 25. Erstellen eines neuen Lead-in Salesforce Mit TwilioForce APEX Bibliothek
- 26. Jekyll - Erstellen eines neuen Standortgerüsts in einem vorhandenen Projekt
- 27. Bevorzugte Alternative zum Erstellen eines neuen Objekts in Spring Webflow
- 28. Erstellen eines neuen Icon-Sets in Android Studio?
- 29. Erstellen eines neuen Objekts und vorbei in Methodenparameter
- 30. Erstellen eines neuen Felds für bestimmte Datensätze in miniMongo
Nur eine Frage. Da der Host YOURRDSENDPOINT.rts.amazonaws.com ist, funktioniert das Gewähren von Privilegien für localhost? Ich habe versucht, dies für eine ganze Weile ohne Erfolg zu tun – nightgaunt
Das wurde nur als Beispiel zur Verfügung gestellt, ich werde die Antwort zu einem Wildcard-Hostnamen aktualisieren. – andebauchery