Devo creare un nuovo utente MySQL con autorizzazioni limitate su un'istanza Amazon RDS esistente. Dopo aver incontrato un paio di messaggi di errore ero in grado di farlo usando lo strumento ufficiale di amministrazione MySQL e l'utente ora appare nell'elenco. Tuttavia, non sono in grado di assegnare alcun privilegio di schema in quanto tutti gli utenti sono in grigio. Ho effettuato l'accesso come "utente principale" creato all'apertura dell'istanza. Non so da dove andare. Ho installato gli strumenti della riga di comando RDS ma non sono riuscito a rintracciare nulla. IdeeCreazione di un nuovo utente MySQL in ambiente Amazon RDS
risposta
La soluzione migliore è probabilmente quella di connettersi al database con un client della riga di comando mysql e chiamare i comandi SQL per creare un nuovo utente e assegnargli i privilegi.
Ad esempio, si potrebbe eseguire qualcosa di simile:
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'@'%';
Su Windows è possibile utilizzare il client mysql.exe, ovunque essa sia.
Documenti Utili
AWS RDS gruppi di protezione di documentazione (uno spazio comune di confusione): http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithSecurityGroups.html
documentazione creazione dell'utente: http://dev.mysql.com/doc/refman/5.5/en/create-user.html
Privilege concessione documentazione: http://dev.mysql.com/doc/refman/5.5/en/grant.html
ho avuto il maggior successo con MySQL Workbench e l'esecuzione di SQL raw su RDS:
CREATE USER 'foo'@'localhost' IDENTIFIED BY 'password';
Il problema maggiore erano le autorizzazioni. Inizialmente ho provato:
Grant ALL on *.* to 'foo'@'localhost'
... che genera un errore Accesso negato.
Error Code: 1045. Access denied for user 'foo'@'%' (using password: YES)
Il permesso fastidioso è "super", che RDS non mi dà, ea sua volta non può concedere. Come risultato, sono bloccato a fare le autorizzazioni a mano:
Grant SELECT on *.* to 'foo'@'localhost';
Grant INSERT on *.* to 'foo'@'localhost';
Grant CREATE on *.* to 'foo'@'localhost';
se si concede TUTTO sul proprio database. * A 'foo' @ 'localhost' si può avere più successo. * includerebbe i database di sistema (schemi). – Mike
'GRANT USAGE ON *. * TO 'foo' @ 'localhost'' testato su rds mariadb, penso che mysql dovrebbe essere lo stesso. vedi [MySQL su Amazon RDS] (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) – Leonmax
Ho usato il mio workbench MySQL e funziona correttamente. basta andare su Gestione/Utenti e privilegi, premere il pulsante "Aggiungi account" in basso a sinistra e configurare. Non puoi concedere i privilegi SUPER, ma la maggior parte degli altri
So che questo thread ha un paio di anni e io continuo a trovarlo, quindi volevo ottenere un aggiornamento su AWS RDS e Autorizzazioni utente.
Non è possibile utilizzare GRANT ALL
per qualsiasi utente con un RDS. Quando si utilizza la dichiarazione GRANT ALL
, si sta tentando di fornire anche Global
(poiché AWS li chiama Super Permissions
) e con il modo in cui il sistema AWS RDS è configurato, non consente l'assegnazione di opzioni globali agli utenti.
dovete rompere le autorizzazioni per la seguente:
GRANT SELECT,INSERT,UPDATE,DELETE,DROP on
Questo permetterà l'utente sia in grado di connettersi ai RDS una volta che le impostazioni di sicurezza sono stati impostati per consentire l'accesso da istanze EC2 o da Internet.
Spero che questa informazione sia di aiuto a chiunque stia incontrando gli stessi problemi riscontrati con i sistemi RDS di AWS.
Waldo
Buona spiegazione, evviva. – dkanejs
Mi salva anche. Ero totalmente frustrato perché dopo "GRANT ALL" non riesco ancora a connettermi. Ora è chiaro. –
Buon punto! L'errore che ottieni per 'ALL' è:' ERRORE 1045 (28000): accesso negato per utente 'root' @ '%' (usando password: YES) ' – crollywood
ho creato in questo modo:
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'localhost';
Ma poi, AWS rifiutato eseguire il login per quell'utente. E ho provato a cambiare i privilegi di amministratore, ma non il successo. E I cambia 'localhost' in '%' attraverso mysql workbench. (Oppure è possibile rimuovere l'utente e ricreare) come:
CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'somepassword';
GRANT SELECT ON mydatabase.* TO 'jeffrey'@'%';
Solo allora ho potuto loggin attraverso questo nuovo utente.
- 1. MySQL server host amazon rds
- 2. Come importare Dump MYSQL in Amazon RDS
- 3. Scarica MySql Backup/Istantanea da Amazon RDS
- 4. Semplice connessione al database MySQL Amazon RDS con MySQL Workbench
- 5. Amazon RDS mysqldump al di fuori dell'ecosistema Amazon
- 6. Utilizzo di Amazon S3 con Amazon RDS
- 7. Configura mysql Amazon RDS per memorizzare i caratteri cinesi
- 8. Backup automatico Amazon RDS
- 9. Sincronizzare Amazon RDS con Google BigQuery
- 10. nodeenv si blocca quando la creazione di un nuovo ambiente
- 11. Replica PostgreSQL su Amazon RDS
- 12. mysql nuovo utente l'accesso negato
- 13. creare un nuovo ambiente in Rails
- 14. Come connettersi ad Amazon RDS via SSL?
- 15. Come connettersi ad Amazon RDS usando go-sql-driver
- 16. La dimensione di archiviazione Amazon RDS è diversa
- 17. Domande di base su Amazon RDS, S3 Storage e tabelle RDS predefinite
- 18. È possibile utilizzare Cacti per monitorare MySQL su RDS di Amazon?
- 19. Come modificare i parametri my.ini di un'istanza Amazon RDS
- 20. Come ottenere l'accesso phpmyadmin su Amazon RDS Database
- 21. Come viene realizzata la distribuzione Multi-AZ di Amazon RDS?
- 22. SQL Server Reporting Services per Amazon RDS
- 23. Connessione dell'app per Android a Amazon RDS
- 24. MySQL: creazione di un utente con privilegi di root
- 25. Migrazione ad Amazon SQL Server RDS
- 26. Amazon RDS Replica Lettura nella stessa regione, VPC diverso
- 27. LOAD DATA LOCAL INFILE fallisce - (. Da un server web Amazon EC2 a un'istanza RDS) da php, mysql a (su Amazon RDS)
- 28. Come "passare" da MySQL ad Amazon RDS con un impatto minimo sull'applicazione?
- 29. Come posso abilitare SSL per Amazon RDS Mysql in Spring Boot/Spring Data?
- 30. Utilizzo di Java per stabilire una connessione sicura a MySQL Amazon RDS (SSL/TLS)
Solo una domanda. Poiché l'host è YOURRDSENDPOINT.rds.amazonaws.com, concedere i privilegi alle opere di localhost? Ho cercato di ottenere questo risultato per un po 'senza successo – nightgaunt
Questo è stato appena fornito come esempio, aggiornerò la risposta per utilizzare un nome host con caratteri jolly. – andebauchery