O que fazer se não conseguir me conectar a uma instância de BD do RDS?
Possíveis causas
Tente o seguinte:
- Verifique se a instância de BD está disponível.
    Por exemplo, se o sistema estiver com defeito, a instância de BD estiver anormal ou a instância de BD ou a tabela estiver bloqueada. 
- (Comum) Verifique se a conexão do cliente está correta.
    - Se você se conectar a uma instância de BD em uma rede privada, verifique se a instância de BD e o ECS estão na mesma região e VPC.
- Se você se conectar a uma instância de BD em uma rede pública, vincule um EIP à instância de BD e, em seguida, conecte-se à instância de BD por meio do EIP.
 
- Verifique o método de conexão.
    Execute um dos seguintes comandos de exemplo para ativar ou desativar o SSL: - SSL ativado: mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- SSL desativado: mysql -h 172.16.0.31 -P 3306 -u root -p
 
- Verifique se os parâmetros do comando de conexão estão corretos.
    Por exemplo, verifique se os seguintes parâmetros estão configurados corretamente: connection address, port number, username, password e connection method. 
- (Comum) Verifique se a conectividade de rede está normal
    Para uma conexão de rede privada: - Verifique se o ECS e a instância do BD estão na mesma região e VPC.
- Verifique as regras do grupo de segurança.
      Para acessar instâncias de BD em um grupo de segurança diferente do ECS, adicione uma regra de entrada para o grupo de segurança. 
- No ECS, verifique se a porta da instância de BD pode ser conectada.
 Para uma conexão de rede pública: - Verifique as regras do grupo de segurança.
      Para acessar instâncias de BD em um grupo de segurança de uma rede pública, adicione uma regra de entrada para o grupo de segurança. 
- Verifique as regras de ACL da rede.
- Faça o ping dos ECSs na mesma região para a instância de BD.
 
- (Comum) Verifique se o número de conexões com a instância de BD atinge o limite superior.
    Se houver um número excessivo de conexões de banco de dados, as aplicações podem não ser conectadas. 
- (Comum) Verifique se a instância de BD está no estado de armazenamento completo.
    Se a instância de BD estiver no estado Storage full, o desempenho de leitura e gravação de dados será afetado. 
- Exiba as mensagens de erro de conexão comuns
    Encontre soluções correspondentes com base em mensagens de erro de conexão. 
Localização de falhas
 
  - Verifique se a instância de BD está disponível.
    Verifique se a instância de BD está no estado Available. Possível causa: o sistema do RDS está com defeito, a instância de BD está anormal ou a instância de BD ou uma tabela está bloqueada. Solução: se a instância de BD for anormal, reinicialize-a. Figura 2 Verificar o status da instância de BD  
- Verifique se a conexão do cliente está correta.
    Instale um cliente de mecanismo cuja versão seja pelo menos tão nova quanto a versão da instância de BD. Para obter detalhes sobre como se conectar a uma instância de BD em uma rede privada ou pública, consulte Um servidor externo pode acessar o banco de dados do RDS? Tabela 1 Modelo de conexão Método de conexão Cenário Exemplo Rede privada Um endereço IP privado é fornecido por padrão. Se suas aplicações forem implementadas em um ECS que esteja na mesma região e VPC que a instância de BD, conecte-se ao ECS e à instância de BD por meio de um endereço IP privado. RDS for MySQL: mysql -h <private IP address> -P 3306 -u root -p --ssl-ca=/tmp/ca.pem Rede pública Se não for possível acessar a instância de BD por meio de um endereço IP privado, vincule um EIP à instância de BD e, em seguida, conecte-se à instância de BD por meio do EIP. Para obter detalhes de preços do EIP, consulte Detalhes de cobrança do EIP. RDS for MySQL: mysql -h <EIP> -P 3306 -u root -p --ssl-ca=/tmp/ca.pem 
- Verifique o método de conexão.
    - Conexão SSL é recomendada. Ative o SSL na página Connectivity & Security e carregue o certificado no ECS.
      mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem Figura 3 Ativar SSL  
- Conexão comum: desative o SSL na página Basic Information.
      mysql -h 172.16.0.31 -P 3306 -u root -p 
 
- Conexão SSL é recomendada. Ative o SSL na página Connectivity & Security e carregue o certificado no ECS.
      
- Verifique os parâmetros no comando usado para conectar.
    Certifique-se de que o endereço de conexão, a porta, o nome de usuário e a senha e o método de conexão SSL estejam corretos e tente se conectar à instância de BD novamente. Se você usar uma conexão privada com SSL ativado, execute mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem. - Endereço IP
      Na guia Private Connection da página Connectivity & Security, obtenha o endereço IP flutuante na área Connection Information. Figura 4 Endereço IP flutuante  
- Porta do banco de dados
      Na guia Private Connection da página Connectivity & Security, obtenha a porta do banco de dados na área Connection Information. 
- Credenciais de logon raiz
- Certificado
      Obtenha o nome do certificado SSL no diretório em que o comando é executado. 
 Se você usar uma conexão pública com SSL ativado, execute o seguinte comando de exemplo: mysql -h EIP -P 3306 -u root -p --ssl-ca=/tmp/ca.pem - Endereço IP
      Na guia Public Connection da página Connectivity & Security, obtenha o EIP na área Connection Information. Figura 5 EIP  
- Porta do banco de dados
      Na guia Public Connection da página Connectivity & Security, obtenha a porta do banco de dados na área Connection Information. 
- Credenciais de logon raiz
- Certificado
      Obtenha o nome do certificado SSL no diretório em que o comando é executado. 
 
- Endereço IP
      
- Verifique a conexão de rede.
    Conexão de rede privada- Verifique se o ECS e a instância do BD estão na mesma região e VPC.
       - Se o ECS e a instância de BD estiverem em regiões diferentes, eles não poderão se comunicar entre si. Selecione uma região próxima à sua área de serviço para reduzir a latência da rede e obter acesso mais rápido.
- Se o ECS e a instância de BD do RDS estiverem em VPCs diferentes, consulte O que fazer se o ECS e o RDS forem implementados em VPCs diferentes e não puderem se comunicar entre si?
 Figura 6 Verificar a VPC de um ECS Figura 7 Verificar a VPC de uma instância do RDS Figura 7 Verificar a VPC de uma instância do RDS  
- Verifique as regras do grupo de segurança.
       - Se Destination não for 0.0.0.0/0 e Protocol & Port não for All na página Outbound Rules do ECS, adicione o endereço IP flutuante e a porta da instância do RDS às regras de saída.
         Figura 8 Grupo de segurança do ECS  
- Se Source não for 0.0.0.0/0 e o Protocol & Port não for All na página Inbound Rules da instância do RDS, adicione o endereço IP e a porta do ECS às regras de entrada.
         Figura 9 Grupo de segurança da instância do RDS  
 
- Se Destination não for 0.0.0.0/0 e Protocol & Port não for All na página Outbound Rules do ECS, adicione o endereço IP flutuante e a porta da instância do RDS às regras de saída.
         
- No ECS, verifique se a porta da instância de BD pode ser conectada.
       telnet <IP address> <port number>- Se a conexão for normal, a rede é normal.
- Se a conexão falhar, crie um tíquete de serviço para entrar em contato com o atendimento ao cliente para obter assistência.
 
 Conexão de rede pública - Verifique as regras do grupo de segurança.
      - Se Destination não for 0.0.0.0/0 e Protocol & Port não for All na página Outbound Rules do ECS, adicione o EIP e a porta da instância do RDS às regras de saída.
        Figura 10 Grupo de segurança do ECS  
- Se Source não for 0.0.0.0/0 e o Protocol & Port não for All na página Inbound Rules da instância do RDS, adicione o endereço IP e a porta do ECS às regras de entrada.
        Figura 11 Grupo de segurança da instância do RDS  
 
- Se Destination não for 0.0.0.0/0 e Protocol & Port não for All na página Outbound Rules do ECS, adicione o EIP e a porta da instância do RDS às regras de saída.
        
- Verifique as regras de ACL de rede.
      - Vá para ACLs de rede.
- Verifique se a NIC vinculada ao EIP está na sub-rede associada à ACL de rede.
- Verifique se a ACL de rede está habilitada.
 A regra de ACL de rede padrão nega todos os pacotes de entrada e de saída. Essa regra padrão ainda é aplicada mesmo se a ACL da rede estiver desativada. 
- Faça o ping da instância de BD em um ECS na mesma região.
      Se você não conseguir executar o ping do EIP da instância do RDS a partir de um ECS, tente fazer o ping a partir de outro ECS na mesma região. Se o EIP pode ser pingado, a rede é normal. Nesse caso, crie um tíquete de serviço para entrar em contato com o atendimento ao cliente. 
 
- Verifique se o ECS e a instância do BD estão na mesma região e VPC.
       
- Verifique se há muitas conexões com a instância de BD.
    Método de verificação: - Execute show variables like '%max%connections%'; para exibir o número de conexões de instância.
       - max_connections: o número máximo de clientes que podem ser conectados ao mesmo tempo. Se este parâmetro for definido como default, o número máximo de clientes dependerá da quantidade de memória configurada. Para mais detalhes, consulte Qual é o número máximo de conexões com uma instância de BD do RDS?.
- max_user_connections: o número máximo de conexões simultâneas permitidas para uma conta específica do RDS for MySQL.
 
- Verifique se o total de conexões e conexões ativas atuais atingiram os limites superiores consultando Exibição de métricas de monitoramento. Determine se as conexões devem ser liberadas.
 Possível causa: se houver muitas conexões de banco de dados, talvez as aplicações não consigam se conectar e backups completos e incrementais podem falhar, afetando os serviços. Solução:- Verifique se as aplicações estão conectadas, otimize as conexões e libere conexões desnecessárias.
- Se esse parâmetro for definido como default, você poderá escalar a instância de BD para definir max_connections como um valor maior. Para obter detalhes, consulte Alteração as especificações da instância de BD.
- Verifique se alguma métrica é anormal e se algum alarme é gerado no console do Cloud Eye. O Cloud Eye monitora as métricas do banco de dados, como o uso da CPU, o uso da memória, o uso do espaço de armazenamento e as conexões do banco de dados, e permite definir políticas de alarme para identificar riscos antecipadamente se algum alarme for gerado. Para obter detalhes sobre as métricas de monitoramento suportadas, consulte Configuração de métricas exibidas.
 
- Execute show variables like '%max%connections%'; para exibir o número de conexões de instância.
      
- Verifique se a instância de banco de dados está no estado Storage full.
    Método de verificação: visualize o uso do espaço de armazenamento no console de gerenciamento ou no Cloud Eye.- No console do RDS
       Localize uma instância de BD e clique em seu nome para ir para a página Basic Information. Na área Storage Space, visualize o uso do espaço de armazenamento. Figura 12 Uso de espaço do armazenamento  
- No Cloud Eye
       Localize uma instância de BD e clique em View Metric na coluna Operation. Na página exibida, visualize o uso do espaço de armazenamento. 
 Possível causa e soluções: consulte O que fazer se uma instância de BD do RDS for anormal devido ao espaço de armazenamento total? 
- No console do RDS
       
- Exiba mensagens de erro de conexão comuns.
    Quando você executa comandos para se conectar a uma instância de BD, a compreensão das mensagens de erro pode ajudar: - ERROR 2013: Lost connection to MySQL server during query
      Se os valores de wait_timeout e interactive_timeout forem muito pequenos, o cliente do RDS for MySQL desconectará automaticamente a conexão vazia de tempo limite. Para obter detalhes, consulte Cliente de MySQL automaticamente desconectado de uma instância de BD. 
- ERROR 1045 (28000): Access denied for user 'root'@'192.168.0.30' (using password: YES)
      Verifique se a senha está correta, se o ECS tem permissão para se conectar à instância de BD e se o cliente do RDS for MySQL pode executar ping no endereço IP flutuante da instância de BD. Para obter detalhes, consulte Instância de BD do RDS for MySQL inacessível. 
- ERROR 1226 (42000): User 'test' has exceeded the 'max_user_connections' resource (current value:10)
      Verifique se o número de conexões com a instância de BD é limitado. Para obter detalhes, consulte Instância de BD do MySQL inacessível. 
- ERROR 1129 (HY000): Host '192.168.0.111' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
      Verifique se o número de tentativas de conexão do clientes de RDS for MySQL com falha (não causadas por senhas incorretas) excede o valor de max_connection_errors. Para obter detalhes, consulte Instância de BD do RDS for MySQL inacessível. 
- [Warning] Access denied for user 'username'@'yourIp' (using password: NO)
      Se esta mensagem de erro for exibida quando você tentar se conectar a uma instância de BD do RDS for MySQL ou RDS for PostgreSQL, verifique se o nome de usuário ou a senha estão corretos. 
- [Warning] Access denied for user 'username'@'yourIp' (using password: YES)
      Se esta mensagem de erro for exibida quando você tentar se conectar a uma instância de do RDS for MySQL ou RDS for PostgreSQL, verifique se o nome de usuário ou a senha estão corretos. 
- Falha no logon para o usuário 'username'
      Se esta mensagem de erro é indicada quando você tenta conectar a uma instância de BD do RDS for SQL Server, verifique se o nome de usuário ou a senha estão corretos. 
 
- ERROR 2013: Lost connection to MySQL server during query
      
- Se o problema persistir, crie um tíquete de serviço.
 
    