Mensagens de erro do Cloud SQL para MySQL

Nesta página, mostramos algumas mensagens de erro encontradas no Cloud SQL.

Visão geral

As mensagens de erro no Cloud SQL provêm de muitas origens e aparecem em muitos lugares. Algumas mensagens de erro são derivadas dos próprios mecanismos de banco de dados, do serviço Cloud SQL, de aplicativos clientes, e outras retornadas por chamadas à API Cloud SQL Admin.

Nesta página, incluímos alguns dos erros mais comuns encontrados no Cloud SQL. Se você não encontrar nela o código de erro ou a mensagem que procura, pesquise o material de referência de origem nestes locais:

Se você não encontrar o material de referência da mensagem de erro que aparece, pesquise também em alguns destes lugares, onde outros usuários podem ter experiência relevante:

Erros desconhecidos

A tabela a seguir mostra alguns casos conhecidos em que um Unknown Error pode ocorrer e lista correções específicas quando aplicável. No entanto, esta não é uma lista completa. Se você não encontrar seu caso na tabela, consulte o Issue Tracker público do Cloud SQL. Se você não encontrar o problema, envie um relatório ou leia outras opções de suporte.

Operação O problema pode ser... O que você deve tentar...
Backup Se isso aparecer durante os backups automáticos ou manuais, é provável que o disco da instância esteja cheio. Se o tamanho do arquivo temporário estiver ocupando muito espaço, reinicie a instância para remover esse arquivo e liberar o espaço no disco. Caso contrário, talvez seja necessário fazer upgrade da instância para um tamanho de disco maior.
Clonar Isso pode ocorrer quando há uma falta de recursos na zona selecionada. Tente outra zona na região ou aguarde e tente novamente mais tarde.
Criar instância
  • Isso pode ocorrer quando você tenta reutilizar o mesmo nome de uma instância excluída recentemente.
  • Também pode ser causado por problemas de conectividade intermitente.
  • Os registros podem mostrar que a API Service Networking não está ativada para o projeto.
  • O erro também foi visto ao tentar criar várias instâncias em paralelo. Por exemplo, os scripts do Terraform tornam essa tentativa possível.
  • O problema também pode ocorrer porque um recurso específico está esgotado ou um limite de cota foi excedido. Nos registros, procure uma entrada como Quota 'INTERNAL_FORWARDING_RULES_WITH_TARGET_INSTANCE_PER_NETWORK' exceeded. Limit: 100.0 globally
  • Os nomes de instância só podem ser reutilizados uma semana após a exclusão.
  • No caso de problemas de conectividade intermitente, a única solução é tentar novamente.
  • Ative a API Service Networking no projeto host.
  • Scripts de criação de instâncias paralelas só terão êxito na criação de uma das instâncias. Modifique o script para aguardar até que cada operação de criação da instância seja concluída antes de avançar para a próxima.
Criar réplica É provável que um erro mais específico esteja nos arquivos de registro. Inspecione os registros no Cloud Logging para encontrar o erro real. Se o erro for set Service Networking service account as servicenetworking.serviceAgent role on consumer project, desative e reative Service Networking API. Essa ação cria a conta de serviço necessária para continuar com o processo.
Exportar Se você vir isso ao tentar exportar um banco de dados para um bucket do Cloud Storage, a transferência poderá falhar devido a um problema de largura de banda. A instância do Cloud SQL pode estar localizada em uma região diferente do bucket do Cloud Storage. A leitura e a gravação de dados de um continente para outro envolve o uso excessivo de rede e pode causar problemas intermitentes como esse.
Failover (legado) Se você estiver usando a configuração de failover legado, isso pode acontecer quando a máquina de réplica de failover não é grande o suficiente para processá-lo. A melhor solução é migrar para a configuração atual de alta disponibilidade. Caso contrário, você precisará atualizar a réplica de failover para uma máquina maior.
Failover (automático) Uma operação de failover automática pode produzir essa mensagem de erro quando o serviço detecta que a instância principal ainda é responsiva. Não há nada a ser feito nesse caso. O failover não ocorrerá porque não é necessário.
Importar O arquivo de importação pode conter instruções que exijam o papel de superusuário. Edite o arquivo para remover instruções que exigem o papel de superusuário.

O Cloud SQL também usa alguns binários de terceiros (por exemplo, mysqld), que podem gerar mensagens de erro desconhecidas. Esses erros são internos para os binários de terceiros e estão fora do escopo do Cloud SQL. No entanto, às vezes, um erro mais específico pode ser encontrado nos arquivos de registros do Cloud SQL ao mesmo tempo.

Além disso, algumas vezes é um código de erro desconhecido. Nesse caso, a mensagem completa pode ser Unknown Error Code.

Outros erros

Conexão cancelada

Você vê a mensagem de erro Got an error reading communication packets ou Aborted connection xxx to db: DB_NAME.

O problema pode ser

O erro Aborted connection indica que um aplicativo não está encerrando conexões corretamente.

O que você precisa tentar

Verifique as seguintes condições:

  • O aplicativo não chamou mysql_close() antes de sair.
  • Erros de comunicação (em inglês).
  • O aplicativo pode ter ficado suspenso por mais tempo do que o número de segundos especificado em wait_timeout ou interactive_timeout sem emitir qualquer solicitação ao servidor. Consulte a seção 5.1.7, Variáveis de sistema do servidor (em inglês).
  • O aplicativo foi encerrado repentinamente no meio de uma transferência de dados.
  • O valor da variável max_allowed_packet pode ser muito pequeno ou as consultas exigem mais memória do que o alocado para mysqld. Isso pode ser resolvido aumentando a sinalização max_allowed_packet para um número muito maior.


Solicitação inválida

Você vê a mensagem de erro HTTP Error 400 Bad Request.

O problema pode ser

A solicitação inválida pode ter muitas causas. Uma das mais comuns é argumento inválido. Nesse caso, a solicitação está usando o argumento errado ou um valor inválido para ele. Para muitas outras causas, a mensagem de erro pode conter uma dica útil.

O que você pode tentar

Para argumento inválido, verifique a solicitação para saber se cada argumento é permitido e se cada valor de argumento é válido. Para todas as outras causas, verifique os arquivos de registros para ver se há mais informações disponíveis.


Acesso negado para o usuário

Você vê a mensagem de erro Access denied for user 'XXX'@'XXX' (using password: XXX).

O problema pode ser

Pode haver várias causas, incluindo:

  • o nome de usuário (ou senha) está incorreto;
  • o usuário está se conectando de um URL diferente de @XXX;
  • o usuário não tem os privilégios corretos para o banco de dados a que está tentando se conectar.

O que você deve tentar

  • Verifique o nome de usuário e a senha correspondente.
  • Verifique a origem da conexão para ver se ela corresponde ao URL em que o usuário tem privilégios de acesso.
  • Verifique os privilégios de concessão do usuário no banco de dados.

Disco cheio

Você vê a mensagem de erro Disk is full ou percebe que está sem espaço em disco.

O problema pode ser

O tamanho do disco da instância principal pode ficar cheio durante a criação da réplica.

O que você pode tentar

Edite a instância principal com upgrade para um tamanho de disco maior.


A ativação de uma sinalização provoca falha na instância

Após a ativação de uma sinalização, as instâncias ficam alternando entre pânico e falha.

O problema pode ser

Sabe-se que definir um valor muito alto para a sinalização max_connections pode causar esse erro.

O que você pode tentar

A definição de um valor muito alto para a sinalização max_connections pode impedir a instância de acomodar todas as conexões, o que resulta no erro Error 1040: Too many connections e em falhas de sinal de funcionamento. Entre em contato com o suporte ao cliente para solicitar a remoção de uma sinalização, seguida de um hard drain. Isso força a instância a reiniciar em um host diferente com uma nova configuração, sem a sinalização ou a configuração.


Erro fatal durante o upgrade

Você vê a mensagem de erro ERROR_INTERNAL_FATAL ao fazer upgrade de recursos em uma instância.

O problema pode ser

Há muitas causas possíveis.

O que você pode tentar

Os registros podem revelar mais informações. Caso contrário, entre em contato com o suporte ao cliente para forçar a recriação da instância.


Erro HTTP 408: (tempo limite) durante a exportação

Você vê a mensagem de erro HTTP Error 408 (Timeout) ao executar um job de exportação no Cloud SQL.

O problema pode ser

Os formatos CSV e SQL são exportados de maneira diferente. O formato SQL inclui todo o banco de dados e provavelmente levará mais tempo para ser concluído. Com o CSV, é possível especificar quais elementos do banco de dados serão incluídos na operação de exportação.

O que você deve tentar

Use o formato CSV e execute vários jobs de exportação menores para reduzir o tamanho e a duração de cada operação.


Erro HTTP 409

Você vê a mensagem de erro HTTP Error 409 in a Terraform script ou Error 409 Operation failed because another operation was already in progress.

O problema pode ser

  1. Verifique o script do Terraform. O script precisa aguardar a conclusão de cada operação antes de iniciar a próxima.
  2. HTTP Error 409: Operation failed because another operation was already in progress.
  3. Você está tentando reutilizar, para uma nova instância, o mesmo nome de uma instância excluída recentemente, antes do final do período de espera para reutilização do nome.

O que você deve tentar

  1. Se estiver executando um script do Terraform, interrompa a execução até que cada operação da instância seja concluída. Faça com que o script pesquise e aguarde até que um 200 seja retornado pelo ID da operação anterior. Caso contrário, aguarde a conclusão da operação em execução.
  2. Depois de excluir uma instância, você precisa aguardar uma semana antes de reutilizar o mesmo nome para uma nova instância.

Não é possível excluir a instância

Mensagem de erro

Você vê a mensagem de erro ERROR: (gcloud.sql.instances.delete) HTTP Error 409: The instance or operation is not in an appropriate state to handle the request ou a instância tem um status de sinalização INSTANCE_RISKY_FLAG_CONFIG.

O problema pode ser

  1. Another operation is in progress.
  2. O aviso INSTANCE_RISKY_FLAG_CONFIG é acionado sempre que pelo menos uma sinalização BETA é usada.

O que você pode tentar

  1. As operações do Cloud SQL não são executadas simultaneamente. Aguarde a conclusão da outra operação.
  2. Remova as configurações de sinalização arriscadas e reinicie a instância.

Erro interno

Você vê a mensagem de erro {"ResourceType":"sqladmin.v1beta4.instance", "ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null}.

O problema pode ser

O projeto de serviço pode estar sem a conta de serviço de rede necessária para esse recurso.

O que você pode tentar

Para corrigir as permissões do serviço, desative Service Networking API, aguarde cinco minutos e reative-o.


Erro 1040 do MySQL

Você vê a mensagem de erro MySQL Error 1040: Too many connections.

O problema pode ser

Definir um valor muito alto para a sinalização max_connections pode causar esse erro.

O que você pode tentar

Entre em contato com o suporte ao cliente para solicitar a remoção de uma sinalização, seguida de um hard drain. Isso força a instância a reiniciar em um host diferente com uma configuração nova, sem a sinalização ou a configuração.


Falha na associação de rede

Você vê a mensagem de erro Network association failed due to the following error: set Service Networking service account as servicenetworking.serviceAgent role on consumer project.

O problema pode ser

A Service Networking API não está ativada no projeto.

O que você pode tentar

Ative a Service Networking API no seu projeto. Se você vir esse erro ao tentar atribuir um endereço IP particular a uma instância do Cloud SQL e estiver usando uma VPC compartilhada, também será necessário ativar a Service Networking API para o projeto host.


Conexão não autorizada

Você vê a mensagem de erro Unauthorized to connect.

O problema pode ser

Pode haver muitas causas, já que a autorização ocorre em muitos níveis.

  • No nível do banco de dados, é preciso que o usuário do banco de dados e a senha sejam correspondentes.
  • No nível do projeto, o usuário pode não ter as permissões de IAM corretas, incluindo as permissões serviceusage.services.use ou cloudsql.instances.connect.
  • No nível da rede, se a instância do Cloud SQL estiver usando IP público, o IP de origem da conexão precisará estar em uma rede autorizada.

O que você deve tentar

  • Verifique se o usuário existe e corresponde à senha.
  • Atribua o papel Service Usage Consumer à conta de usuário. Esse papel inclui a permissão serviceusage.services.use.
  • Se estiver usando IP público, verifique se o IP de origem está em uma rede autorizada.

A operação não é válida para esta instância

Você vê a mensagem de erro HTTP Error 400: This operation isn't valid for this instance de uma chamada de API para instances.restoreBackup.

O problema pode ser

Não é possível restaurar do backup para uma instância com um tamanho de armazenamento (XX GB) menor que o tamanho do backup (YY GB).

O que você pode tentar

Edite a instância de destino para aumentar o tamanho de armazenamento dela.


Memória insuficiente durante o backup automático

Você vê a mensagem de erro [ERROR] InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written..

O problema pode ser

A instância atingiu um limite absoluto ao fazer um backup automatizado.

O que você pode tentar

Verifique se o SO e o sistema de arquivos são compatíveis com arquivos desse tamanho. Verifique se o disco não está cheio ou com cota de disco insuficiente. É possível solicitar um aumento nas suas cotas pelo Console do Google Cloud ou editar a instância com upgrade para um tamanho de disco maior.


Cota excedida

Você vê a mensagem de erro RESOURCE_EXHAUSTED: Quota exceeded ou GLOBAL_ADDRESSES_QUOTA_EXCEEDED.

Possível problema

Você atingiu o limite de cota diária ou por minuto. Revise as cotas e limites do Cloud SQL.

O que você pode tentar

Solicite um aumento nas suas cotas pelo Console do Google Cloud.


Os slots de conexão restantes estão reservados

Você vê a mensagem de erro FATAL: remaining connection slots are reserved for non-replication superuser connections.

O problema pode ser

O número máximo de conexões permitidas foi atingido.

O que você pode tentar

Aumente a sinalização max_connections. Consulte Como configurar sinalizações do banco de dados.


Falta uma chave de API válida na solicitação

Você vê a mensagem de erro HTTP Error 403: PERMISSION_DENIED. The request is missing a valid API key.

O problema pode ser

Talvez você não tenha um arquivo JSON de chave de conta de serviço válido ou ele não esteja armazenado no local esperado.

O que você deve tentar

Verifique se você tem um arquivo JSON de chave de conta de serviço válido no local armazenado na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS e se a variável aponta para o local correto.


Ocorreu um erro de sistema

Você vê a mensagem de erro [ERROR_RDBMS] system error occurred.

O problema pode ser

  1. O usuário pode não ter todas as permissões necessárias do Cloud Storage.
  2. A tabela de banco de dados pode não existir.

O que você pode tentar

  1. Verifique se você tem pelo menos as permissões WRITER no bucket e READER no arquivo de exportação. Para mais informações sobre como configurar o controle de acesso no Cloud Storage, consulte Criar e gerenciar listas de controle de acesso.
  2. Verifique se a tabela existe. Se a tabela existir, confirme se você tem as permissões corretas no bucket de armazenamento.

A definição da tabela foi alterada

Você vê a mensagem de erro Table definition has changed, please retry transaction when dumping table.

O problema pode ser

Durante o processo de exportação, ocorreu uma alteração na tabela.

O que você deve tentar

A transação de despejo poderá falhar se você usar as seguintes instruções durante a operação de exportação:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE
Remova qualquer uma dessas instruções da operação de despejo.


O tamanho do arquivo temporário excede temp_file_limit

Você vê a mensagem de erro Temporary file size exceeds temp_file_limit.

O problema pode ser

A sinalização temp_file_limit está definida com valor muito baixo para o uso do banco de dados.

O que você deve tentar

Aumente o tamanho de temp_file_limit. Consulte Como configurar sinalizações do banco de dados.