Apenas comente bind-address=
no total. Quando você faz isso, ele se liga a todos os endereços. Certifique-se também de que você não tenha skip-networking
ativado em seu my.cnf.
No /etc/mysql/my.conf
do meu Ubuntu, tenho:
bind-address = 192.168.2.20 # My external IP
Funciona bem a partir do controle remoto, mas quando eu quero me conectar localmente, o aplicativo que usa no MySQL diz: java.net.ConnectException: Connection refused at com.mysql.jdbc.StandardSocketFactory.connect
.
Então, quando quero trabalhar localmente, altero my.cnf
para:
bind-address = 0.0.0.0
E ele começa a funcionar localmente, mas não funciona mais remotamente.
Como tornar o MySQL acessível a partir de locais remotos e locais?
Eu apenas consegui trabalhar usando as ferramentas de linha de comando no servidor e remotamente via php. Além de garantir que a rede de pulsos fosse posta fora (e nosso lixo de firewall), o que eu tinha que fazer era:
Experimente a ferramenta de linha de comando no servidor que hospeda o db (por exemplo, shell> mysql -h localhost -u root -p
, em seguida, insira a senha)
Anote o caminho / que ele tenta se conectar (terminando com .sock)
Acesse my.cnf
e verifique se nas seções [client]
e [mysqld]
que socket=
contém o caminho encontrado na etapa 2.