Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile connettersi in remoto all'installazione di EC2 MySQL

lo strumento migliore che ho trovato è stato sqlyog, (forse anche mysql workbench), che in realtà direbbe il nome host da cui stai arrivando sulla connessione non riuscita.

Il motivo per cui mi piace è che mantiene alta la sicurezza, mostrando qualcosa comeAccesso negato per l'utente " ". Nota, quel nome host, l'ho appena inventato, ma è importante, qualunque cosa il tuo stia arrivando. Altrimenti è il momento dei caratteri jolly, qualcosa che non farò. Potresti scegliere di farlo.

questo è importante perché quel nome host (hdm38.newyork.comcastbusiness.net ) è quello che uso durante mysql create user invece di utilizzare caratteri jolly come %

Ho lasciato che la connessione sopra fallisse, ma noto quale è il nome host sopra. Lo vedrai sotto.

Un rapido elenco di controllo

1) il tuo utente remoto si sta connettendo tramite un account che è stato creato con user,host appropriato voci (guarda l'output da select user,host from mysql.user order by 1,2 )

CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';

Con il comando sopra ora abbiamo un nuovo utente che ha la possibilità di entrare. Non può fare nulla. Impossibile passare a un db. Fondamentalmente possono semplicemente fare cose come select now();

2) hai eseguito grants con flush privileges (almeno il primo)

GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';

Il nostro utente con il comando sopra ora può fare qualsiasi cosa nel database/schema mydb123. Esplora quello sopra Concedi il comando nel manuale per ottimizzare l'accesso al minimo indispensabile per gli utenti che crei.

Se non conosci la sicurezza di mysql, non includere WITH GRANT OPTION finché non lo cerchi.

Ci sono quelli che direbbero che il nome host sopra è '%' per i passaggi 1 e 2. Ciò significa che Babbo Natale può connettersi da qualsiasi host. La scelta è tua. Inizia bene, rilassati una volta che sei arrivato da qualche parte e hai fatto le ricerche su di esso.

3) hai modificato my.cnf e cambiato bind-address lontano da 127.0.0.1 o localhost , a favore di 0.0.0.0

Se l'indirizzo di collegamento non è 0.0.0.0 , ti stai connettendo solo con ssh

4) hai modificato my.cnf e avere una riga cancellata #skip-networking . Anche se devi creare la linea solo per rimuoverla, fallo.

3/4 modifiche richiedono il riavvio del demone MySQL

5) problemi con il firewall. Quindi, per EC2, hai bisogno del tuo AWS Security Group che è attivo per l'istanza per includere l'apertura della porta 3306