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:

  • php5-mysqlnd su debian wheezy / sid?
  • C'è un modo per comunicare DBMS con block di memory raw o binari
  • come correggere corrotti, non chiaramente chiusi e aggiornare le tabelle necessarie in mysql
  • Utilizzo di mysqldump nel lavoro cron senza password di root
  • Query SQL per esportre automaticamente file e FTP?
  • I parametri di procedura archiviati MySQL sono NULL
  • 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.