none
Unable to connect to any of the specified MySQL hosts quando tento acessar pela estação. RRS feed

  • Pergunta

  • Olá pessoal,
    Quando tento acessar o sistema pela estação em um Servidor com Windows Server 2012 R2 Standard
    com banco de dados MySQL, estou recebendo a mensagem de erro: Unable to connect to any of the specified MySQL hosts
    Localmente consigo executar o sistema normalmente, mas pela estação, que é windows 7, ocorre o erro citado, já dei um ping para verificar a conexão entre estação e servidor e está pingando normalmente, já liberei a porta 3306 tanto na estação como no servidor, já desativei o firewall, na estação estou acessando o servidor assim:

    Destino \\SERVIDOR\AGENDA\AGENDA.EXE
    Iniciar em \\SERVIDOR\AGENDA

    Tanto no Servidor como nas estações o anti-vírus é o KasperSky, 

    O que eu poderia mais estar verificando para resolver esse problema, será que o Windows Server no servidor está impondo alguma restrição de acesso ?

    Windows form, MySQL, C#

    Obrigado.

    quinta-feira, 16 de novembro de 2017 12:07

Respostas

  • Boa tarde Porter Porter,

    Siga o procedimento vide documentação ofical.

    Para abrir uma porta no Firewall do Windows

    1. No menu Iniciar, clique em Painel de Controle.

    2. Em Painel de controle, clique em Conexões de rede e de internet e então abra o Firewall do Windows .

    3. No Firewall do Windows, clique na guia Exceções e então clique em Adicionar Porta.

    4. Na caixa de diálogo Adicionar uma Porta, na caixa Nome, digite SQL Server<Nome_da_instância>.

    5. Na caixa Número da porta, digite o número da porta da instância Mecanismo de Banco de Dados. Use 1433 para a instância padrão. Digite 49172 se você estiver configurando uma instância nomeada e tiver configurado uma porta fixa na tarefa anterior. Verifique se o TCP está selecionado, e em seguida, clique em OK.

    Abrindo portas no Firewall


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 21 de novembro de 2017 19:33
  • Boa tarde Porter Porter,

    Siga o procedimento vide documentação ofical.

    Para abrir uma porta no Firewall do Windows

    1. No menu Iniciar, clique em Painel de Controle.

    2. Em Painel de controle, clique em Conexões de rede e de internet e então abra o Firewall do Windows .

    3. No Firewall do Windows, clique na guia Exceções e então clique em Adicionar Porta.

    4. Na caixa de diálogo Adicionar uma Porta, na caixa Nome, digite SQL Server<Nome_da_instância>.

    5. Na caixa Número da porta, digite o número da porta da instância Mecanismo de Banco de Dados. Use 1433 para a instância padrão. Digite 49172 se você estiver configurando uma instância nomeada e tiver configurado uma porta fixa na tarefa anterior. Verifique se o TCP está selecionado, e em seguida, clique em OK.

    Abrindo portas no Firewall


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    Roberto o problema de conexão com ele é MySQL.

    O que ele poderia fazer é liberar a porta UDP:

    netsh advfirewall firewall add rule name=MySQLPort dir=in protocol=udp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN
    netsh advfirewall firewall add rule name=MySQLPort dir=out protocol=udp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN



    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    terça-feira, 21 de novembro de 2017 20:04

Todas as Respostas

  • Como está sua string de conexão?

    Está apontando para o IP do Servidor ou localhost?


    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quinta-feira, 16 de novembro de 2017 13:34
  • Como está sua string de conexão?

    Está apontando para o IP do Servidor ou localhost?

    Olá Rafael, tem um arquivo chamado Configuration.XML, é lá que busco as informações pela string de conexão para acessar o servidor e a base de dados, localmente eu consigo executar o sistema perfeitamente, mas pela estação da o erro: Unable to connect to any of the specified MySQL hosts, estou apontando para o servidor que se chama SERVIDOR, o servidor é o Windows Server 2012 R2 Standard

    conn = new MySqlConnection("Server=" + teste.Configuration.Server + "; Database=" + teste.Configuration.Database + "; Uid=" + teste.Configuration.Uid + "; Pwd=" + teste.Configuration.Pwd + "");

    Confiruation.XML

    <?xml version="1.0" encoding="utf-8" ?>
    <Mysql>
      <server>SERVIDOR</server>
      <database>agenda</database>
      <uid>ADMIN</uid>
      <pwd>123</pwd>
    </Mysql>

    quinta-feira, 16 de novembro de 2017 14:43
  • 1 - Você poderia trocar o nome SERVIDOR pelo IP e testar?

    2 - Caso não resolva desabilite o Firewall do Servidor e Teste Novamente.

    3 - Certifique-se de que o seu arquivo mysql/my.conf o recurso bind-ipaddress não está setado pra algum IP.



    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quinta-feira, 16 de novembro de 2017 14:53
  • 1 - Você poderia trocar o nome SERVIDOR pelo IP e testar?

    2 - Caso não resolva desabilite o Firewall do Servidor e Teste Novamente.

    3 - Certifique-se de que o seu arquivo mysql/my.conf o recurso bind-ipaddress não está setado pra algum IP.

    Onde fica esse arquivo my.conf, não estou conseguindo encontra-lo executei um dir my.conf /s e não encontrei em meu PC.

    Pelo fato do sistema estar funcionando localmente, isso já não seria o suficiente para acessá-lo pelas estações ? vou testar com IP e desbilitar o Firewall e retorno com a resposta, estou achando que alguma restrição foi inserida no Servidor com Windows Server, pois estava tudo funcionando normalmente.

    Obrigado Rafael.

    quinta-feira, 16 de novembro de 2017 15:17
  • No Windows Server 2012, tem uma opção no FireWall chamada Definições de Rede Pública, desabilitei e então consegui acessar o sistema normalmente pela Estação, mas gostaria de saber se tem como trabalhar com o Firewall normalmente habilitado, não sei se esse meu cliente vai permitir trabalhar com FireWall desabilitado.
    quinta-feira, 16 de novembro de 2017 17:40
  • Não,

    Você pode liberar as portas no Firewall;

    Abra o Prompt como administrador e rode o comando abaixo:

    netsh advfirewall firewall add rule name=MySQLPort dir=in protocol=tcp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN


    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quinta-feira, 16 de novembro de 2017 17:55
  • Olá Rafael, executei o comando abaixo que você sugeriu, ele cria uma regra de Entrada porta 3306, mas eu já havia feito isso manualmente, apesar de executar esse comando como administrador

    não deu certo, tive que manter o firewall desabilitado para acessar o sistema.

    netsh advfirewall firewall add rule name=MySQLPort dir=in protocol=tcp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN


    • Editado Porter Porter sexta-feira, 17 de novembro de 2017 15:21
    sexta-feira, 17 de novembro de 2017 15:20
  • Boa tarde Porter Porter,

    Siga o procedimento vide documentação ofical.

    Para abrir uma porta no Firewall do Windows

    1. No menu Iniciar, clique em Painel de Controle.

    2. Em Painel de controle, clique em Conexões de rede e de internet e então abra o Firewall do Windows .

    3. No Firewall do Windows, clique na guia Exceções e então clique em Adicionar Porta.

    4. Na caixa de diálogo Adicionar uma Porta, na caixa Nome, digite SQL Server<Nome_da_instância>.

    5. Na caixa Número da porta, digite o número da porta da instância Mecanismo de Banco de Dados. Use 1433 para a instância padrão. Digite 49172 se você estiver configurando uma instância nomeada e tiver configurado uma porta fixa na tarefa anterior. Verifique se o TCP está selecionado, e em seguida, clique em OK.

    Abrindo portas no Firewall


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 21 de novembro de 2017 19:33
  • Boa tarde Porter Porter,

    Siga o procedimento vide documentação ofical.

    Para abrir uma porta no Firewall do Windows

    1. No menu Iniciar, clique em Painel de Controle.

    2. Em Painel de controle, clique em Conexões de rede e de internet e então abra o Firewall do Windows .

    3. No Firewall do Windows, clique na guia Exceções e então clique em Adicionar Porta.

    4. Na caixa de diálogo Adicionar uma Porta, na caixa Nome, digite SQL Server<Nome_da_instância>.

    5. Na caixa Número da porta, digite o número da porta da instância Mecanismo de Banco de Dados. Use 1433 para a instância padrão. Digite 49172 se você estiver configurando uma instância nomeada e tiver configurado uma porta fixa na tarefa anterior. Verifique se o TCP está selecionado, e em seguida, clique em OK.

    Abrindo portas no Firewall


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    Roberto o problema de conexão com ele é MySQL.

    O que ele poderia fazer é liberar a porta UDP:

    netsh advfirewall firewall add rule name=MySQLPort dir=in protocol=udp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN
    netsh advfirewall firewall add rule name=MySQLPort dir=out protocol=udp action=allow localport=3306 remoteip=localsubnet profile=DOMAIN



    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    terça-feira, 21 de novembro de 2017 20:04
  • Rafael Almeida (ralmsdeveloper),

    E abrindo essas portas, fica funcional?


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 22 de novembro de 2017 11:31
  • Rafael Almeida (ralmsdeveloper),

    E abrindo essas portas, fica funcional?


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    Olá Roberto,

    Já tive esses mesmos problemas com Oracle e Sql Server, mesmo liberando no gerenciador do Sql Server, precisei liberar a conexão de saída para usar o protocolo UDP, e tive êxito todas as vezes!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer .NET C#
    Development Leader at JAMSOFT Informática
    Criador e Mantenedor do Entity Framework Core for Firebird
    Contribuidor do Entity Framework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quarta-feira, 22 de novembro de 2017 12:07
  • Bom dia,

    Por falta de retorno essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 27 de novembro de 2017 12:19
    Moderador