2011-11-04 17 views

risposta

77

Non uso RDS, ma con mysql normale, basta collegare con l'utente 'root'. Quindi emettere

FLUSH HOSTS; 

sql query.

Anche nel caso di troppe connessioni, MySQL dovrebbe tenere un collegamento in riserva in modo che un utente SUPER può collegarsi (di solito root)

(mysqladmin su CLI di solito appena si collega come root in ogni caso, e le questioni delle sopra sql :)

+3

liThanks, questo è esattamente ciò Avevo bisogno di: un piccolo contesto. fwiw mysqladmin funzionerà anche con RDS (a patto che tu stia utilizzando un utente con il permesso di farlo (es. root) - non lo ero). – dsummersl

+0

Questa è un'ottima risposta ma non applicabile a AWS. –

+0

Perché no? Non puoi eseguire FLUSH HOSTS su AWS? – barryhunter

3

Su Amazon RDS FLUSH HOSTS; può essere eseguito dall'utente predefinito ("Nome utente principale" nelle informazioni RDS) e aiuta.

1

Si dovrà collegare il RDS attraverso un computer che, come mysql installato su di esso ho usato una delle mie VPS di hosting che utilizzano SSH

Dopo sono stato entrato nel mio VPS (io ho usato lo stucco) E 'stato semplice, nel prompt ho inserito il seguente comando:

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 
5

ho fissato questo errore sul mio esempio RDS riavviando dalla console di gestione AWS. HTH

[edit: lol downvotes]

26

Accedere per qualsiasi altra istanza EC2 si ha che ha accesso all'istanza RDS in questione ed è mysqladmin installato ed eseguito

mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts 

verrà richiesto per la tua password

+1

Non è necessario che provenga da qualsiasi istanza EC2 . Può essere fatto anche da una macchina locale. Dove sia mai installato mysql. –

+2

Questo non funziona da un'istanza EC2 beanstalk a un host mysql RDS. L'utilizzo del comando mysqladmin per connettersi all'host genera un errore: mysqladmin: connettersi al server all'indirizzo 'challengefinder-rds.crstas8123.us-west-1.rds.amazonaws.com' non riuscito errore: 'Host' ip-10-170 -12-12.us-west-1.compute.internal 'è bloccato a causa di molti errori di connessione; sbloccare con 'mysqladmin flush-hosts' ' –

+0

È possibile utilizzare un altro computer: è sufficiente aggiungere l'indirizzo IP al gruppo di sicurezza per tale istanza RDS e quindi è possibile utilizzare mysqladmin dalla workstation. – Guss

5

Poiché i padroni di casa sono bloccati. prova a collegarlo da un altro host ed esegui il comando mysqladmin flush-hosts.

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts 
1

È possibile riavviare il database su RDS Admin.

11

Quando un'istanza Amazon RDS è bloccato perché il valore di max_connect_errors è stato superato, è non può usare l'host che ha generato gli errori di connessione per lanciare il comando "padroni di casa a filo", come il server MySQL in esecuzione sull'istanza è a quel punto bloccando le connessioni da quell'host.

È quindi necessario emettere il comando "flush hosts" da un'altra istanza EC2 o server remoto che ha accesso a tale istanza RDS.

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

Se ciò ha comportato il lancio di una nuova istanza, o la creazione/modifica di gruppi di protezione per consentire l'accesso esterno, può essere più veloce per accedere semplicemente all'interfaccia utente RDS e riavviare l'istanza di RDS che è bloccato.

+0

Il riavvio dell'istanza è stato il più semplice per me. –

0

È possibile irrigare host MySQL locale utilizzando seguente comando:

mysqladmin -u [username] -p flush-hosts 
**** [MySQL password] 

o

mysqladmin flush-hosts -u [username] -p 
**** [MySQL password] 

Sebbene server di database di Amazon RDS è in rete quindi utilizzare il seguente comando come come server MySQL rete come filo:

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts 
mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

In ulteriore suggerimento voi può risolvere in modo permanente bloccato di molte connessioni problema di errore modificando file my.ini [file di configurazione Mysql]

modificare le variabili max_connections = 10000;

o

login in MySQL linea utilizzando il comando -

mysql -u [username] -p 
**** [MySQL password] 

messo il seguente comando nella finestra di MySQL

SET GLOBAL max_connect_errors=10000; 
set global max_connections = 200; 

di controllo vero e proprio utilizzando comandamenti

show variables like "max_connections"; 
show variables like "max_connect_errors"; 
+0

Su RDS, non è possibile eseguire alcun comando localmente, perché non è possibile accedere all'host del database. Anche la rete non funziona, perché mysqladmin non è in grado di connettersi, per lo stesso motivo. ("errore: 'Host' your.client.ip.address 'è bloccato a causa di molti errori di connessione") –

Problemi correlati