Eu desenvolvi um aplicativo no VB6 e estou usando um servidor de banco de dados MySQL online para armazenar os dados do meu aplicativo.
A primeira vez que tento me conectar ao meu servidor de banco de dados é bem-sucedida, mas depois de fechar meu aplicativo e iniciá-lo novamente, recebo:
Não foi possível conectar ao servidor MySQL (10060) "
Após algum tempo (aproximadamente 30 minutos), posso conectar-me ao banco de dados novamente.
- Eu dei valores máximos para todo o sistema MySQL e variáveis globais como connection_timeout , wait_timeout etc.
- Eu concedi todas as permissões ao meu usuário MySQL.
- O firewall do meu computador está desligado.
- Todas as conexões são fechadas corretamente quando o aplicativo é fechado.
Eu perguntei ao pessoal técnico que fornece o serviço Online MySQL Database e eles me deram estas três razões:
- A máquina local de onde você está tentando se conectar não está na lista de permissões no servidor.
- O número máximo de conexões para o usuário foi excedido.
- O servidor MySQL estava inoperante no momento (embora eles dissessem que o servidor não estava inativo).
Como posso resolver os dois primeiros motivos ou determinar se eles são a causa do problema? Ou poderia haver outro problema não listado lá?
mysql
connectivity
Ashok Gujjar
fonte
fonte
Respostas:
você precisa ter certeza de que existe:
1) usuário criado com acesso remoto, por exemplo, usuário @ 'xxxx'
2) existe uma conexão das duas máquinas (elas podem fazer ping um ao outro, por exemplo, ou acessar uma à outra por outro método) a porta é aberta entre as duas máquinas
3)
my.ini/my.cnf
existe um parâmetro de conexão bloqueado como:bind-address=a.a.a.a
ouskip-networking
4) o serviço está em funcionamento quando você tenta se conectar a partir de outra máquina
fonte
Provavelmente, esse é um problema do lado da rede e o provedor de serviços de banco de dados precisa criar uma nova regra no firewall (iptables). Ainda precisamos confirmar algumas coisas do provedor. Como o comportamento não é estável (às vezes você pode se conectar e às vezes não). Portanto, não é um problema de privilégio do usuário (GRANT ALL ON ...)
fonte
Forneça a saída do telnet (ip): porta
Eu tive o mesmo problema da última vez e o iptables é o culpado naquele momento.
Quando o servidor foi reinicializado, a regra iptables volta ao padrão e não aplicou o filtro para determinadas portas.
Verifique o iptables
fonte
Primeiro verifique se você concedeu os privilégios apropriados ao usuário em seu host atual através do qual você está tentando se conectar ao servidor MySQL.
select * from mysql.user where host="host_name"\G;
Espero que isso seja útil para você.
fonte
Passei um dia inteiro batendo a cabeça tentando descobrir isso, e a rede Windows foi definida como pública em vez de privada, o que bloqueia todas as conexões de entrada. Espero que isso ajude alguém.
fonte
alguns provedores de hospedagem bloqueiam, por padrão, o acesso remoto a seus servidores MySql por motivos de segurança. Se você precisar desbloquear o serviço de acesso remoto, informe-o para desbloquear esse serviço.
Caso contrário, teste seu aplicativo localmente, como localhost, e quando isso funcionar bem, altere o nome do host e assim por diante nos parâmetros do banco de dados em seu aplicativo e faça o upload para o servidor de hospedagem na Web, isso funciona bem !!!.
Tenha cuidado, para que o design do seu banco de dados verifique com o design do banco de dados local, isso é muito importante !!!
Espero que isso seja útil para você.
fonte
Duas coisas a serem adicionadas aos usuários do mariadb:
1) o my.cnf é para nós também => lá encontrei a
bind-address = 127.0.0.1
linha2) você precisa reiniciar o serviço após alterar o arquivo my.cnf
Espero que isto ajude
fonte