MySQL rifiuta di accettare connessioni remote

Ho appena installato un nuovo server ubuntu con mysql (percona 5.5), ma si rifiuta di accettare le connessioni da host remoti

Ecco cosa succede se cerco di connettersi a questo server in remoto:

  • Posso integrare Bugzilla con un sito web esistente e un server SVN?
  • Miglior pratica topologica hardware hardware applicativo scalabile
  • Tempi di connessione lunghi da PHP a MySQL su EC2
  • Che cosa causa l'errore MySQL 1062 - duplica la voce quando si avvia lo slave?
  • 1286 - Motore di stoccaggio sconosciuto 'InnoDB'
  • non riesce a trovare l'indirizzo IP privato per l'istanza Amazon-RDS
  • mysql -h10.0.0.2 -uroot -pmypassowrd ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111) telnet 10.0.0.2 3306 Trying 10.0.0.2... telnet: Unable to connect to remote host: Connection refused 

    Quando ho controllato se mysql ascolta le connessioni remote ho visto questo:

     sudo netstat -ntlup | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 127018/mysqld 

    Come si può vedere, dice 127.0.0.1:3306 che significa "Accetto solo connessioni locali".

    Ho controllato le skip_networking e bind-address – tutto è distriggersto:

     mysql> show variables like '%skip_networking%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | skip_networking | OFF | +-----------------+-------+ 1 row in set (0.00 sec) mysql> show variables like '%bind%'; Empty set (0.00 sec) 

    Ho un altro server con assolutamente la stessa configuration e funziona ottimamente:

     sudo netstat -ntlup | grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2431/mysqld 

    Qual è la causa di questo? Come faccio a rispondere a mysql alle connessioni remote?

    4 Solutions collect form web for “MySQL rifiuta di accettare connessioni remote”

    Provare ad aggiungere bind-address = 0.0.0.0 alla tua sezione [mysqld] del tuo my.cnf e riavviare mysqld.

    Potrebbe essere dovuto alla tabella utente di database mysql (utilizzare mysql; mostrare le tabelle;). Se il collegamento a 0.0.0.0 non funziona per te, provate a dare all'utente l'host '%' al posto di 'localhost' in quella tabella.

    Ad esempio, prova a creare un utente come:

    CREA UTENTE yourusername @ '%' IDENTIFIED BY 'yourpassword'

    provare a connettersi con tale utente.

    Quando tutto il resto fallisce e sei sicuro che il server sta ascoltando sulla port predefinita e sta tentando di connettersi con il client mysql disperatamente da un altro host, provare a specificare la port nell'URL del command mysql.

    Strano come è dovuto usare la seguente syntax:

     mysql -h someHost --port=3306 -u someUser -p someDb 

    Ho trovato questo (bug?) Totalmente per caso (dopo aver perso i miei capelli :)).

    La mia configuration: debian jessie, mysql fresco 5.7.18, utenti / db creato, bind-address commentato-out, mysqld restarted

    La soluzione descritta nel link seguente dovrebbe risolvere il problema http://www.debianhelp.co.uk/remotemysql.htm

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.