O que devo fazer se não conseguir me conectar à minha instância do GaussDB(for MySQL)?
Possíveis causas
Tente o seguinte:
- Verifique se a instância de BD está disponível.
Por exemplo, o status da instância de banco de dados é anormal.
- (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 se a conexão SSL está sendo usada.
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 conexão 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.
- 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.
- Verifique as regras de ACL de rede.
- Faça o ping dos ECSs na mesma região para a instância de BD.
- Para uma conexão de rede privada:
- (Comum) Verifique se há muitas conexões com a instância de banco de dados.
Se houver um número excessivo de conexões de banco de dados, as aplicações podem não ser conectadas.
- Exiba 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: a instância do BD está anormal.
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 MySQL 8.0.
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 GaussDB(for MySQL)?
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.
mysql -h private IP address -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
Vá para a página Basic Information da instância e visualize o endereço IP privado na área Network Information.
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.
mysql -h EIP -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
Vá para a página Basic Information da instância e visualize o EIP na área Network Information.
- Verifique se a conexão SSL é usada.
- (Recomendado) Ative o SSL na página Basic Information da instância, faça download e descompacte o pacote e carregue o certificado raiz ca.pem no diretório /tmp do ECS.
Exemplo:
mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
Figura 3 Ativação de SSL
- Conexão comum: desative o SSL na página Basic Information.
Exemplo:
mysql -h 172.16.0.31 -P 3306 -u root -p
- (Recomendado) Ative o SSL na página Basic Information da instância, faça download e descompacte o pacote e carregue o certificado raiz ca.pem no diretório /tmp do 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 certificado SSL estejam corretos e tente se conectar à instância de banco de dados novamente.
- Conexão a uma instância de BD por meio de uma rede privada
- Comando de conexão
mysql -h connection address -P database port -u username -p --ssl-ca= SSL certificate name
Exemplo:
mysql -h 192.168.0.153 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- connection address
Vá para a página Basic Information da instância e visualize o endereço IP privado na área Network Information.
Figura 4 Endereço IP privado
- database port
Vá para a página Basic Information da instância e visualize a porta do banco de dados na área Network Information.
- Username
Digite root e sua senha.
- SSL certificate name
Nome do arquivo de certificado SSL. O caminho e o nome do arquivo devem ser os mesmos do comando.
- Comando de conexão
- Conexão a uma instância de BD em uma rede pública
- Comando de conexão
mysql -h connection address -P database port -u username -p --ssl-ca= SSL certificate name
Exemplo:
mysql -h 10.83.34.224 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
- EIP
Vá para a página Basic Information da instância e visualize o EIP na área Network Information.
Figura 5 EIP
- Porta do banco de dados
Vá para a página Basic Information da instância e visualize a porta do banco de dados na área Network Information.
- Nome do usuário e senha
- Certificado
Digite o nome do arquivo de certificado SSL. O caminho e o nome do arquivo devem ser os mesmos do comando.
- Comando de conexão
- Conexão a uma instância de BD por meio de uma rede privada
- Verifique se a conexão de rede está normal.
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. Para se conectar à instância de banco de dados entre regiões, use o Cloud Connect (CC) ou a Virtual Private Network (VPN).
- Se o ECS e a instância de banco de dados estiverem em VPCs diferentes da mesma região, eles não poderão se comunicar por meio de uma rede privada. Depois que uma instância de banco de dados é criada, você não pode alterar sua VPC. Nesse caso, crie uma conexão de emparelhamento de VPC. Para mais detalhes, consulte O que devo fazer se uma instância do ECS e do GaussDB(for MySQL) implementada em VPCs diferentes não puder se comunicar entre si?.
Figura 6 Verificar a VPC de um ECS
Figura 7 Verificar a VPC de uma instância de GaussDB(for MySQL)
- 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 privado e a porta da instância de banco de dados às regras de saída.
Figura 8 Grupo de segurança do ECS
Figura 9 Adição rápida de uma regra de saída (endereço IP privado de uma instância de BD)
Figura 10 Adição de uma regra de saída (endereço IP privado de uma instância de BD)
- Adicione o endereço IP privado e a porta do ECS às regras de entrada.
Figura 11 Adição rápida de uma regra de entrada (endereço IP privado de um ECS)
Figura 12 Adição de uma regra de entrada (endereço IP privado de um ECS)
- 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 privado e a porta da instância de banco de dados às regras de saída.
- No ECS, verifique se o endereço IP privado da instância de banco de dados pode ser conectado.
Exemplo:
telnet 192.168.0.153 3306- 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 de banco de dados às regras de saída.
Figura 13 Grupo de segurança do ECS
Figura 14 Adição rápida de uma regra de saída (instância de BD do EIP)
Figura 15 Adição de uma regra de saída (instância de BD do EIP)
- Adicione o EIP e a porta do ECS às regras de entrada.
Figura 16 Adição de uma regra de entrada (EIP do ECS)
Figura 17 Adição de uma regra de entrada (EIP do ECS)
- 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 de banco de dados às regras de saída.
- Verifique as regras de ACL de rede.
- Vá para Network ACLs.
- Verifique se a NIC à qual o GaussDB(for MySQL) e EIP vinculado pertence à sub-rede vinculada à ACL de rede.
- Verifique se a ACL de rede está ativada.
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 banco de dados de um ECS na mesma região que a instância de banco de dados.
Se você não conseguir executar o ping do EIP da instância de banco de dados 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:
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo e selecione uma região e um projeto.
- Clique em no canto superior esquerdo da página, escolha .
- Na página Instances, localize a instância de BD e clique em Log In na coluna Operation.
- Digite a senha e clique em Test Connection. Depois que a conexão for bem-sucedida, clique em Log In para acessar o DAS.
- Escolha SQL Operations > SQL Query.
- Digite o comando e clique em Execute SQL para verificar o número de conexões de instância.
show variables like '%max%connections%';
- 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 em uma instância do GaussDB(for MySQL)?.
- max_user_connections: o número máximo de conexões simultâneas permitidas para uma conta específica do GaussDB(for MySQL).
- Verifique se o total de conexões e as conexões ativas atuais atingiram os limites superiores, consultando Visualização de métricas de monitoramento de instâncias. Determine se as conexões devem ser liberadas.
Possível causa: se houver muitas conexões de banco de dados, as aplicações podem não conseguir se conectar e os 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á ampliar a instância de BD para definir max_connections como um valor maior. Para obter detalhes, consulte Alteração de vCPUs e memória de uma 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 que você configure políticas de alarme para identificar riscos antecipadamente se algum alarme for gerado. Para obter detalhes sobre as métricas de monitoramento suportadas, consulte Introdução a métricas do GaussDB(for MySQL).
- 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: perda de conexão com o servidor MySQL durante a consulta
Se os valores de wait_timeout e interactive_timeout forem muito pequenos, o cliente de GaussDB(for MySQL) desconectará automaticamente a conexão vazia de tempo limite. Para obter detalhes, consulte Cliente desconectado automaticamente de uma instância de banco de dados.
- ERROR 1045 : acesso negado para o usuário 'root'@'192.168.0.30' (usando a senha: YES)
Verifique se a senha está correta e se o ECS tem permissão para se conectar à instância de banco de dados. Para obter detalhes, consulte "Access denied" exibido durante a conexão com o banco de dados.
- Mensagem de erro "SSL routines: tls_early_post_process_client_hello:unsupported protocol"
Verifique a versão de TLS do GaussDB(for MySQL) e atualize a versão de TLS do cliente. Para obter detalhes, consulte Falha na conexão SSL devido a versões inconsistentes de TLS.
- Erro relatado quando o JDBC é usado para conectar-se ao banco de dados: "unable to find certification path to requested target"
O pacote JAR de MariaDB é usado para se conectar ao banco de dados, que é um pouco diferente do pacote de driver oficial do MySQL. Para obter detalhes, consulte Falha ao conectar-se a um banco de dados usando mariadb-connector no modo de SSL.
- ERROR 2013: perda de conexão com o servidor MySQL durante a consulta
- Se o problema persistir, crie um tíquete de serviço.