Resolva o erro "Can't connect to MySQL server on 'XXX'" ao conectar a uma instância ApsaraDB RDS for MySQL ou MariaDB por meio de uma rede interna ou da Internet.
Descrição
Ao conectar a uma instância ApsaraDB RDS for MySQL ou ApsaraDB RDS for MariaDB, um dos seguintes erros é exibido:
ERROR 2003 (HY000): Can't connect to MySQL server on 'XXX'(10038, 10060, or 110)
ERROR 2002 (HY000): Can't connect to MySQL server on 'XXX' (115)
Cannot connect to a database: XXX
Solução
Siga as etapas da seção correspondente ao seu caminho de conexão:
Instância ECS conectando pela rede interna
Dispositivo não ECS conectando pela Internet
Instância ECS conectando pela rede interna
Verifique se a instância ECS e a instância RDS estão na mesma região. Se estiverem em regiões diferentes, resolva o problema seguindo as instruções em Solucionar falhas de conexão do ApsaraDB RDS for PostgreSQL
Verifique se a instância ECS e a instância RDS utilizam o mesmo tipo de rede. Se usarem tipos diferentes — como a rede clássica e a virtual private cloud (VPC) — resolva o problema seguindo as instruções em Solucionar falhas de conexão do ApsaraDB RDS for PostgreSQL
Se ambas as instâncias usam o tipo de rede VPC, verifique se estão na mesma VPC. Se estiverem em VPCs diferentes, resolva o problema seguindo as instruções em Solucionar falhas de conexão do ApsaraDB RDS for PostgreSQL
Verifique se o endereço IP privado da instância ECS foi adicionado a uma lista de permissões de endereços IP da instância RDS. Se não foi, adicione o endereço IP a uma lista de permissões de endereços IP da instância RDS.
-
Verifique se 0.0.0.0/0 foi adicionado a uma lista de permissões de endereços IP da instância RDS.
NotaO 0.0.0.0/0 concede acesso à instância RDS a todos os dispositivos, o que representa riscos de segurança. Adicione essa entrada com cautela.
-
Se você ativou o modo de lista de permissões aprimorado para a instância RDS, verifique o seguinte:
Se você usa o endpoint interno do tipo VPC, confirme que o endereço IP privado da instância ECS foi adicionado à lista de permissões de endereços IP do tipo VPC.
Se você usa o endpoint interno do tipo rede clássica, confirme que o endereço IP privado da instância ECS foi adicionado à lista de permissões de endereços IP do tipo rede clássica.
-
Verifique se o endpoint interno e o número de porta da instância RDS estão corretamente configurados na instância ECS.
NotaUm erro comum é adicionar o endereço IP privado da instância ECS à lista de permissões e depois usar o endpoint público para a conexão. Use o endpoint interno.
Verifique se o bloco CIDR da instância ECS ou de serviços em execução nela (como contêineres) conflita com o bloco CIDR da instância RDS. Para mais informações, consulte A mensagem de erro "Destination Host Unreachable" é exibida ao executar ping no endpoint de uma instância RDS
Dispositivo não ECS conectando pela Internet
Dispositivos não ECS só podem se conectar a uma instância RDS pela Internet. Se a conexão falhar, verifique os seguintes pontos:
Verifique se uma lista de permissões de endereços IP está configurada para a instância RDS. Se nenhuma lista estiver configurada, configure uma lista de permissões de endereços IP.
-
Verifique se 0.0.0.0/0 foi adicionado à lista de permissões de endereços IP. O formato válido é 0.0.0.0/0.
NotaO 0.0.0.0/0 concede acesso à instância RDS a todos os dispositivos, o que representa riscos de segurança. Adicione essa entrada com cautela.
-
Se você ativou o modo de lista de permissões aprimorado para a instância RDS, confirme que o endereço IP público do dispositivo foi adicionado à lista de permissões de endereços IP do tipo rede clássica.
NotaA lista de permissões de endereços IP do tipo VPC não se aplica a conexões baseadas na Internet.
-
Se o endereço IP do dispositivo já consta na lista de permissões, mas a conexão ainda falha, o endereço IP público adicionado pode estar incorreto. As causas mais comuns incluem:
NotaPara mais informações sobre como obter o endereço IP público de um dispositivo, consulte Solucionar falhas de conexão do ApsaraDB RDS for PostgreSQL
O endereço IP público do dispositivo muda dinamicamente.
A ferramenta ou o site usado para consultar o endereço IP público retorna um resultado impreciso.
-
Verifique se você está usando o endpoint interno da instância RDS em vez do endpoint público. Dispositivos não ECS devem usar o endpoint público.
NotaSe a instância RDS não tem um endpoint público, solicite um endpoint público primeiro.
Dispositivos não ECS e o Data Management (DMS) não conseguem se conectar à instância RDS pelo endpoint interno, a menos que sejam utilizados circuitos Express Connect.
Escopo de aplicação
ApsaraDB RDS for MySQL
ApsaraDB RDS for MariaDB