Este tópico explica como resolver falhas de conexão com instâncias do ApsaraDB RDS.
Erros comuns de conexão
Localize a mensagem de erro correspondente à sua situação e siga a solução indicada.
MySQL e MariaDB
Mensagem de erro | Causa | Solução |
| Problema de conectividade de rede. |
Para mais informações, consulte Solutions. |
| Problema na configuração da lista de permissões de endereços IP. | |
| Nome de usuário ou senha incorretos. | Verifique o nome de usuário e a senha nos detalhes de conexão:
|
| O servidor DNS não consegue resolver o endpoint. |
Nota Embora seja possível executar ping na instância para descobrir seu endereço IP atual, não use esse IP para conexões. O endereço IP pode mudar durante eventos como migração ou failover primário/secundário. Sempre use o endpoint, pois ele é estático. |
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/xx/xx/caching_sha2_password.so: cannot open shared object file: No such file or directory | O MySQL não consegue carregar o plug-in de autenticação |
|
| A conexão expirou devido à inatividade. | Isso ocorre quando uma conexão de cliente ociosa excede o período de tempo limite do servidor (controlado por parâmetros como |
Access denied for user 'root'@'XXX' (using password: YES) to database 'XX' | A conexão da instância ECS foi rejeitada porque usou a conta | Por padrão, a conta |
From XXX (172,17.XX.XX) icmp_seq=1 Destination Host Unreachable | A instância ECS não consegue executar ping no endpoint privado da instância RDS porque o bloco CIDR privado da instância RDS entra em conflito com o de outro service na instância ECS. |
SQL Server
Mensagem de erro | Causa | Solução |
Cannot connect to XXX. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) (Microsoft SQL Server, Error: 10060 or 258) | Problema de conectividade de rede. |
Para mais informações, consulte Solutions. |
Cannot connect to XXX. A connection was successfully established with the server, but then an error occurred during the login process. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) (Microsoft SQL Server, Error: 64) | Problema na configuração da lista de permissões de endereços IP. | |
Logon failed for login 'user' due to trigger execution | Limite de conexões atingido. | Check the number of connections to the instance and whether there are blocked connections |
cannot open user default database.Login failed | O banco de dados padrão do usuário conectado não possui um usuário associado na instância ApsaraDB RDS for SQL Server. | Create an associated user for the logon user in the database |
From XXX (172,17.XX.XX) icmp_seq=1 Destination Host Unreachable | A instância ECS não consegue executar ping no endpoint privado da instância RDS porque o bloco CIDR privado da instância RDS entra em conflito com o de outro service na instância ECS. |
PostgreSQL
Mensagem de erro | Causa | Solução |
Unable to connect to server: could not connect to server: Connection timed out (0x0000274C/10060)Is the server running on host XXX.rds.aliyuncs.com and acceptingTCP/IP connections on port XXX? | Problema de conectividade de rede. |
Para mais informações, consulte Solutions. |
| Problema na configuração da lista de permissões de endereços IP. | |
FATAL: remaining connection slots are reserved for non-replication superuser connections | Limite de conexões atingido. | |
FATAL: password authentication failed for user "xxx". | Senha incorreta. | Redefina a senha e tente novamente. Para mais informações sobre como redefinir a senha, consulte Reset a password. |
From XXX (172,17.XX.XX) icmp_seq=1 Destination Host Unreachable | A instância ECS não consegue executar ping no endpoint privado da instância RDS porque o bloco CIDR privado da instância RDS entra em conflito com o de outro service na instância ECS. |
Erros de conexão do DMS
Para operações relacionadas, consulte Connect to an RDS MySQL database by using DMS, Connect to an RDS SQL Server database by using DMS, Connect to an RDS PostgreSQL database by using DMS e Connect to an RDS MariaDB database by using DMS.
Ao redefinir a senha de uma conta, faça logon no DMS novamente.
Mensagem de erro | Causa | Solução |
The MYSQL server is running with the --rds-deny-access option so it cannot execute this statement |
| Faça logon no console do ApsaraDB RDS para verificar se a instância está bloqueada:
|
Sorry, you cannot access this instance by using DMS at the moment. | Você não é o proprietário da instância e não recebeu permissões de logon. | |
Please check the correctness of the endpoint, the network connectivity, and the IP address whitelist settings. | Esse problema geralmente ocorre com servidores MySQL autogerenciados. As possíveis causas incluem:
|
Para mais informações, consulte Solutions. |
max_user_connections | O número de conexões com o banco de dados RDS atingiu o limite superior. | |
Unable to log on to the database due to an IP address whitelist issue. | O bloco CIDR do service DMS está ausente na lista de permissões de endereços IP do RDS. |
A ECS não consegue acessar o RDS pela rede interna
-
Para conectar-se a uma instância RDS usando seu endpoint privado, adicione o endereço IP privado da instância ECS à lista de permissões de endereços IP da instância RDS.
NotaPara adicionar uma lista de permissões de endereços IP, consulte Set an IP address whitelist for RDS MySQL, Set an IP address whitelist for RDS SQL Server, Set an IP address whitelist for RDS PostgreSQL, Set an IP address whitelist for RDS MariaDB.
A conexão pela rede interna falhará se você adicionar apenas o endereço IP público da instância ECS à lista de permissões de endereços IP do RDS.
-
A instância ECS e a instância RDS devem estar na mesma região para se comunicarem pela rede interna. Elas podem estar na mesma zona de disponibilidade ou em zonas diferentes dentro da mesma região.
-
Certifique-se de que a instância ECS e a instância RDS estejam na mesma região:
-
Visualize a região da instância ECS.

-
Visualize a região da instância RDS.

-
-
Se a instância ECS e a instância RDS estiverem em regiões diferentes, elas não poderão se comunicar diretamente pela rede interna. Use um dos seguintes métodos:
-
Método 1:
Método 2: Conecte a instância ECS à instância RDS usando o endpoint público da instância RDS. Este método oferece baixo desempenho, segurança e estabilidade. Para mais informações sobre como solicitar um endpoint público, consulte Apply for a public endpoint for MySQL, Apply for a public endpoint for SQL Server, Apply for a public endpoint for PostgreSQL ou Apply for a public endpoint for MariaDB.
-
-
Verificar o tipo de rede
-
Garanta que a instância ECS e a instância RDS tenham o mesmo tipo de rede (ambas em uma VPC ou ambas na rede clássica).
-
Visualize o tipo de rede da instância ECS.

Visualize o tipo de rede da instância RDS.

-
-
Se uma instância estiver na rede clássica e a outra em uma VPC, use um dos seguintes métodos:
-
Cenário: A instância ECS está em uma VPC e a instância RDS está na rede clássica.
Método 1 (recomendado): Migre a instância RDS da rede clássica para a VPC da instância ECS. Para mais informações, consulte Change the network type.
-
Método 2: Adquira uma nova instância ECS que esteja na rede clássica. No entanto, recomenda-se o uso de VPC por oferecer maior segurança.
NotaNão é possível migrar uma instância ECS de uma VPC para a rede clássica.
Método 3: Conecte a instância ECS à instância RDS usando o endpoint público da instância RDS. Este método oferece baixo desempenho, segurança e estabilidade. Para saber como solicitar um endpoint público, consulte Request a public endpoint for MySQL, Request a public endpoint for SQL Server, Request a public endpoint for PostgreSQL ou Request a public endpoint for MariaDB.
-
Cenário: A instância ECS está na rede clássica e a instância RDS está em uma VPC.
Método 1 (recomendado): Migre a instância ECS da rede clássica para a VPC onde reside a instância RDS. Para encontrar o ID da VPC da instância RDS, acesse a página de detalhes da instância e clique em View Connection Details ao lado de Network Type. Para mais informações, consulte Example of migrating a single ECS instance.
Método 2: Altere o tipo de rede da instância RDS de VPC para rede clássica. Contudo, as VPCs oferecem melhor segurança do que a rede clássica. Recomendamos o uso de VPC.
-
Método 3: Ative o ClassicLink para conectar a instância ECS da rede clássica à instância RDS da VPC pela rede interna.
NotaSe a rede não estiver conectada após ativar o ClassicLink, consulte Troubleshoot network connectivity issues between the classic network and a VPC after a ClassicLink connection is established.
Método 4: Conecte a instância ECS à instância RDS usando o endpoint público da instância RDS. Este método apresenta baixo desempenho, segurança e estabilidade. Para mais informações sobre como solicitar um endpoint público, consulte Apply for a public endpoint for MySQL, Apply for a public endpoint for SQL Server, Apply for a public endpoint for PostgreSQL ou Apply for a public endpoint for MariaDB.
-
-
Se tanto a instância ECS quanto a instância RDS estiverem em uma VPC, confirme se ambas estão na mesma VPC.
-
Visualize o ID da VPC da instância ECS.

-
Visualize o tipo de rede da instância RDS.

-
-
Se estiverem em VPCs diferentes, use um dos seguintes métodos:
Método 1 (recomendado): Migre a instância RDS para a VPC onde reside a instância ECS. Para mais informações, consulte Change the VPC and vSwitch of an ApsaraDB RDS instance.
Método 2: Use CEN para conectar as duas VPCs.
Método 3: Conecte a instância ECS à instância RDS usando o endpoint público da instância RDS. Este método oferece baixo desempenho, segurança e estabilidade. Para informações sobre como solicitar um endpoint público, consulte Apply for a MySQL public endpoint, Apply for a SQL Server public endpoint, Apply for a PostgreSQL public endpoint ou Apply for a MariaDB public endpoint.
Se as instâncias ECS e RDS estiverem na mesma VPC e região, mas você só conseguir conectar usando o endpoint público (não o privado), e tanto ping quanto telnet falharem, consulte An ECS instance cannot connect to an RDS instance due to a routing issue.
Não é possível acessar o RDS pela internet
-
Confirmar o endpoint público
Verifique se você está usando o endpoint público da instância RDS. Esse endpoint está disponível na página Database Connection no ApsaraDB RDS console.

-
Confirmar se o endereço IP público do dispositivo local foi adicionado à lista de permissões de endereços IP
ImportanteO endereço IP público de um dispositivo local pode mudar. Por exemplo, se o endereço IP público for dinâmico, uma alteração no endereço IP pode causar falha na conexão. Para uma conexão estável, use uma conexão privada ou configure um bloco CIDR público suficientemente amplo na lista de permissões de endereços IP.
Certifique-se de que o endereço IP público correto do seu dispositivo local foi adicionado à lista de permissões de endereços IP do RDS. Para solucionar problemas, adicione temporariamente
0.0.0.0/0à lista de permissões de endereços IP do banco de dados. Se você conseguir acessar o banco de dados normalmente após essa alteração, significa que a lista de permissões de endereços IP não está configurada corretamente.Use os seguintes métodos para obter o endereço IP público do seu dispositivo local e adicionar esse endereço a uma lista de permissões de endereços IP. Para mais informações, consulte Configure an IP address whitelist for ApsaraDB RDS for MySQL, Configure an IP address whitelist for ApsaraDB RDS for SQL Server, Configure an IP address whitelist for ApsaraDB RDS for PostgreSQL ou Configure an IP address whitelist for ApsaraDB RDS for MariaDB.
Para mais informações, consulte os seguintes tópicos:
Acesso entre contas
Se sua instância ECS e instância RDS estiverem em contas diferentes da Alibaba Cloud, use um dos seguintes métodos para conectar:
Método 1 (recomendado): Use uma VPC peering connection.
Método 2: Use uma RAM role.
Método 3: Conecte a instância ECS à instância RDS usando o endpoint público da instância RDS. Este método oferece baixo desempenho, segurança e estabilidade. Para informações sobre como solicitar um endpoint público, consulte Apply for a public endpoint for a MySQL instance, Apply for a public endpoint for a SQL Server instance, Apply for a public endpoint for a PostgreSQL instance ou Apply for a public endpoint for a MariaDB instance.
Referências
Aplicável a
ApsaraDB RDS