Eu instalei o MySQL no meu IP VPS e emiti o seguinte comando:
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY 'passwd' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
service mysql restart
Agora eu quero fazer login no MySQL no meu IP VPS de uma máquina remota.
mysql -h vpsip -P 3306 -u root -ppasswd
ERROR 2003 (HY000): Can't connect to MySQL server on 'vpsip' (111)
Por que não consigo fazer login? Como se conectar ao MySQL a partir de uma máquina remota?
Pode haver vários motivos pelos quais você não consegue se conectar:
O servidor mysql não está escutando na interface pública. Certifique-se de estar ouvindo o ip público comentando as seguintes linhas (ou definindo o endereço de ligação para a interface pública correspondente)
O MySQL não está rodando na porta 3306. Conecte-se ao correto ou reconfigure a porta com:
Você pode verificar se o mysql está ouvindo na porta Fight, interface correta com:
O MySQL não pôde iniciar com sucesso - fácil de verificar, tente conectar-se localmente (usando ssh) ou verifique se está sendo executado com:
Seu VPS ou seu provedor pode ter um firewall ativado em seu servidor ou no datacenter, ou rodando em um NAT, impedindo conexões de fora do servidor/rede. Você deve desativar a rede do host, conectar-se ao ip público correspondente ao ip privado correto do servidor ou configurar a porta em seu painel de controle.
Se por algum motivo você ainda não conseguir acessar o mysql diretamente (ou não quiser expor a porta publicamente, o que eu recomendo), você pode tunelizá-lo usando ssh, assim: