2009-12-11 4 views
13

Amazon dichiara ufficialmente: "Amazon RDS consente di accedere a tutte le funzionalità di un database MySQL familiare: ciò significa che il codice, le applicazioni e gli strumenti già utilizzati oggi con i database MySQL esistenti funzionano perfettamente con Amazon RDS."Come "passare" da MySQL ad Amazon RDS con un impatto minimo sull'applicazione?

Non capisco. Amazon RDS è accessibile tramite servizi Web e contiene una libreria client (come quella per .Net).

Quindi, se ho un'applicazione .Net esistente che utilizza un DAL che a sua volta interroga MySQL, come posso fare lo stesso DAL parlare con Amazon RDS (tramite i servizi Web). O mi sto perdendo qualcosa qui?

+0

Eliminata la mia risposta poiché sembrava essere il documento sbagliato. – Peter

risposta

12

Amazon RDS è puro MySQL, accessibile dalla tua app allo stesso modo di qualsiasi altro database MySQL; l'interfaccia dei servizi Web di RDS è puramente per la creazione, la cancellazione e la modifica delle istanze DB , non i dati del DB. Dal loro FAQ:

D: Come posso accedere la mia corsa DB istanza?

Una volta che il DB di istanza è disponibile, è possibile recuperare la sua endpoint tramite il DescribeDBInstance API. Utilizzando questo endpoint è possibile creare la stringa di connessione necessaria per connettersi direttamente con l'istanza del database utilizzando lo strumento di database preferito o il linguaggio di programmazione. Per consentire alle richieste di rete di eseguire l'istanza DB in esecuzione, è necessario autorizzare l'accesso a . Per una spiegazione dettagliata di costruire la stringa di connessione e per iniziare, fare riferimento alla nostra Guida introduttiva .

This è la parte della Guida introduttiva è necessario - si spiega come ottenere il nome host del nuova istanza modo da poter collegare ad esso, può autorizzare l'istanza per l'accesso da parte del cliente, e quindi tramite il client della riga di comando MySQL (ad esempio):

$ rds-describe-db-instances --headers 
$ rds-authorize-db-security-group-ingress default --cidr-ip 192.0.2.0/30 --headers 
$ mysql -h myinstance.crwjauxgijdf.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p 
1

Amazon RDS è solo un normale server con normale accesso a MySQL. C'è solo il webservice che gestisce la creazione di istanze, ecc., Ma tutto ciò che riguarda mysql è sempre lo stesso.

+2

Si noti inoltre che ci sono alcune limitazioni, la maggior parte in modo significativo: non è possibile creare uno slave di lettura che non sia un'altra istanza di rds perché non si ha un super privilegio. Inoltre, tutti gli orologi in DB sono impostati su UTC, quindi now() potrebbe creare comportamenti strani se lo hai usato nella codifica dell'applicazione. – Ross

+0

Un'altra limitazione sembra non essere un'alternativa a init_file in RDS. https://forums.aws.amazon.com/thread.jspa?messageID=401224 –