Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ TaurusDB/ Perguntas frequentes/ Conexões de banco de dados/ O que devo fazer se não conseguir me conectar à minha instância do GaussDB(for MySQL)?
Atualizado em 2024-09-29 GMT+08:00

O que devo fazer se não conseguir me conectar à minha instância do GaussDB(for MySQL)?

Possíveis causas

Tente o seguinte:

  1. Verifique se a instância de BD está disponível.

    Por exemplo, o status da instância de banco de dados é anormal.

  2. (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.
  3. 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
  4. 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.

  5. (Comum) Verifique se a conexão de rede está normal.
    • Para uma conexão de rede privada:
      1. Verifique se o ECS e a instância do BD estão na mesma região e VPC.
      2. Verifique as regras do grupo de segurança.
      3. No ECS, verifique se a porta da instância de BD pode ser conectada.
    • Para uma conexão de rede pública:
      1. Verifique as regras do grupo de segurança.
      2. Verifique as regras de ACL de rede.
      3. Faça o ping dos ECSs na mesma região para a instância de BD.
  6. (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.

  7. 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

Figura 1 O que posso fazer se não conseguir me conectar à minha instância de banco de dados?
  1. 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
  2. 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.

  3. 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

  4. 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.

    • 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

        Certifique-se de ter inserido a senha de raiz corretamente.

      • Certificado

        Digite o nome do arquivo de certificado SSL. O caminho e o nome do arquivo devem ser os mesmos do comando.

  5. Verifique se a conexão de rede está normal.
    Conexão de rede privada
    1. 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)
    2. 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)

    3. No ECS, verifique se o endereço IP privado da instância de banco de dados pode ser conectado.

      telnet private IP address

      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

    1. 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)

    2. Verifique as regras de ACL de rede.
      1. Vá para Network ACLs.
      2. Verifique se a NIC à qual o GaussDB(for MySQL) e EIP vinculado pertence à sub-rede vinculada à ACL de rede.
      3. Verifique se a ACL de rede está ativada.

        Se sim, adicione uma regra ICMP para permitir o tráfego.

      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.

    3. 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.

  6. Verifique se há muitas conexões com a instância de BD.

    Método de verificação:

    1. Faça logon no console de gerenciamento.
    2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
    3. Clique em no canto superior esquerdo da página, escolha Databases > GaussDB(for MySQL).
    4. Na página Instances, localize a instância de BD e clique em Log In na coluna Operation.
    5. Digite a senha e clique em Test Connection. Depois que a conexão for bem-sucedida, clique em Log In para acessar o DAS.
    6. Escolha SQL Operations > SQL Query.
    7. 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).
    8. 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:
    1. Verifique se as aplicações estão conectadas, otimize as conexões e libere conexões desnecessárias.
    2. 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.
    3. 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).
  7. 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:

  8. Se o problema persistir, crie um tíquete de serviço.