Esta página aborda algumas das mensagens de erro encontradas no Cloud SQL.
Vista geral
As mensagens de erro no Cloud SQL provêm de várias origens e aparecem em vários locais. Algumas mensagens de erro provêm dos próprios motores de base de dados, algumas do serviço Cloud SQL, algumas das aplicações cliente e algumas são devolvidas por chamadas à API Admin do Cloud SQL.
Esta página inclui alguns dos erros mais comuns observados no Cloud SQL. Se não encontrar o código ou a mensagem de erro que procura aqui, pode procurar material de referência da fonte aqui:
Se não encontrar o material de referência para a mensagem de erro que está a ver, também pode pesquisar em alguns destes locais onde outros utilizadores podem ter experiência relevante:
- Perguntas sobre o Cloud SQL no Stack Overflow
- Rastreio de problemas público para o Cloud SQL
- DBA Stack Exchange
- Grupo de discussão do Cloud SQL
- Comunidade do Google Cloud no Slack
- Google Cloud no Reddit
Erros operacionais
A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W
Mensagem de erro | Resolução de problemas |
---|---|
Ligação xxx anulada à base de dados: DB_NAME. | A aplicação não está a terminar as ligações corretamente.
Verifique as seguintes condições:
|
Acesso recusado. Precisa de (pelo menos um dos) privilégios SUPER para esta operação. | Pode existir uma vista, uma função ou um procedimento na base de dados de origem que faça referência a DEFINER de uma forma não suportada pelo Cloud SQL.
Atualize o definidor nas bases de dados externas, por exemplo, de |
Acesso recusado para o utilizador "XXX"@"XXX" (a usar a palavra-passe: XXX) | Existem várias causas possíveis, incluindo:
Experimente estas ações…
|
O intervalo de IPs atribuído não foi encontrado na rede. | As interligações de VPC não foram atualizadas depois de um intervalo atribuído ter sido modificado ou removido.
Tem de
modificar a ligação privada. Use o seguinte comando e certifique-se de que usa o argumento gcloud services vpc-peerings update \ --network=VPC_NETWORK \ --ranges=ALLOCATED_RANGES \ --service=servicenetworking.googleapis.com \ --force |
ANY command denied to user 'root'@'%' for table ... | O utilizador não tem todas as autorizações necessárias para esta operação.
Experimente o seguinte:
|
Mensagem de erro | Resolução de problemas |
---|---|
Pedido inválido. | Esta mensagem pode ter várias causas. Illegal Argument é um
dos mais comuns. Neste caso, o pedido está a usar o argumento errado ou um valor inválido para o argumento. Para as muitas outras causas, a mensagem de erro pode conter uma sugestão útil.
Para |
Mensagem de erro | Resolução de problemas |
---|---|
Não é possível modificar intervalos atribuídos em CreateConnection. Use UpdateConnection. | As interligações de VPC não foram atualizadas depois de um intervalo atribuído ter sido modificado ou removido.
Tem de modificar a ligação privada.
Use o seguinte comando e certifique-se de que usa o argumento gcloud services vpc-peerings update \ --network=VPC_NETWORK \ --ranges=ALLOCATED_RANGES \ --service=servicenetworking.googleapis.com \ --force |
Constraints/sql.restrictAuthorizedNetworks. | A operação de clonagem está bloqueada pela configuração Authorized Networks . Authorized Networks
estão configurados para endereços IP públicos na secção Conetividade da
consola Trusted Cloud e a clonagem não é permitida devido a
considerações de segurança.
Remova todas as entradas de |
Mensagem de erro | Resolução de problemas |
---|---|
O disco está cheio. | O tamanho do disco da instância principal pode ficar cheio durante a criação da réplica.
Edite a instância principal para a atualizar para um tamanho de disco maior. |
Mensagem de erro | Resolução de problemas |
---|---|
Não foi possível criar a sub-rede. | Não existem mais endereços disponíveis no intervalo de IP.
Não foi possível encontrar blocos livres nos intervalos de IP atribuídos. Atribua novos intervalos a este fornecedor de serviços. Não existem mais endereços disponíveis no intervalo de IP atribuído. Considere estes possíveis cenários:
Para cada um dos cenários acima, pode optar por expandir o intervalo de IP existente ou atribuir um intervalo de IP adicional à ligação de serviço privado. Se estiver a atribuir um novo intervalo, tenha cuidado para não criar uma atribuição que se sobreponha a atribuições existentes. Depois de criar um novo intervalo de IPs, atualize o peering de VPC com o seguinte comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK --project=PROJECT_ID \ --force Se estiver a expandir uma atribuição existente, tenha cuidado para aumentar apenas o intervalo de atribuição e não o diminuir. Por exemplo, se a atribuição original for 10.0.10.0/24, faça a nova atribuição, pelo menos, em 10.0.10.0/23. Em geral, se começar com uma atribuição /24, diminuir a máscara em 1 para cada condição (grupo de tipo de instância adicional, região adicional) é uma boa regra geral. Por exemplo, se tentar criar ambos os grupos de tipos de instâncias na mesma atribuição, passar de /24 para /23 é suficiente. Depois de expandir um intervalo de IPs existente, atualize a interligação de VPC com o seguinte comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force |
Mensagem de erro | Resolução de problemas |
---|---|
(gcloud.sql.connect) Parece que o seu cliente não tem conetividade IPv6 e a instância da base de dados não tem um endereço IPv4. | Está a tentar estabelecer ligação à sua instância de IP privado através do Cloud Shell.
A ligação do Cloud Shell a uma instância com apenas um endereço IP privado não é suportada atualmente. |
Got packet bigger than max_allowed_packet bytes when
dumping table. |
O pacote era maior do que o permitido pelas definições.
Use Para saber mais sobre a utilização de flags |
Mensagem de erro | Resolução de problemas |
---|---|
InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written. | A instância atingiu um limite rígido ao fazer uma cópia de segurança automática.
Verifique se o seu SO e sistema de ficheiros suportam ficheiros deste tamanho. Verifique se o disco não está cheio ou fora da quota de disco. Pode pedir um aumento das suas quotas na Trusted Cloud consola ou editar a instância para a atualizar para um tamanho de disco maior. |
Erro interno. | O projeto pode não ter a conta de serviço de rede de serviços
necessária para esta funcionalidade.
Para reparar as autorizações de serviço, desative a opção
|
Pedido inválido: configuração de rede de serviços incorreta para a instância. | O serviço Service Networking API não está ativado no projeto.
Ative a |
Mensagem de erro | Resolução de problemas |
---|---|
Tabela de metadados bloqueada. | Outra consulta, processo ou transação está a bloquear a sua consulta e bloqueou a tabela.
Encontre o processo que bloqueou a tabela e pare-o:
|
Mensagem de erro | Resolução de problemas |
---|---|
Falha na associação de rede. | O Service Networking API não está ativado no projeto.
Ative a |
Mensagem de erro | Resolução de problemas |
---|---|
A operação falhou porque já estava outra operação em curso. | A maioria das operações no Cloud SQL são síncronas. Só pode executar uma de cada vez.
Aguarde que a operação anterior termine antes de iniciar outra. |
A operação não é válida para esta instância. | Este erro é devolvido por uma chamada API para instances.restoreBackup e significa que não pode restaurar a partir da cópia de segurança para uma instância com um tamanho de armazenamento (XX GB) inferior ao tamanho da cópia de segurança (YY GB).
Edite a instância de destino para aumentar o respetivo tamanho de armazenamento. |
Mensagem de erro | Resolução de problemas |
---|---|
Quota ultrapassada. | Atingiu o limite da sua quota por minuto ou diária. Reveja as
quotas e os limites do Cloud SQL.
Peça um aumento das suas quotas a partir da Trusted Cloud consola. |
Mensagem de erro | Resolução de problemas |
---|---|
Os restantes slots de ligação estão reservados. | O número máximo de associações permitidas foi atingido.
Aumentar o valor da flag |
O pedido não tem uma chave da API válida. | Pode não ter um ficheiro JSON de chave de conta de serviço válido ou este pode não estar armazenado na localização esperada.
Verifique se tem um ficheiro JSON de chave da conta de serviço válido na localização armazenada na variável de ambiente |
Mensagem de erro | Resolução de problemas |
---|---|
A chave especificada era demasiado longa. O comprimento máximo da chave é de 767 bytes. | A instância principal externa pode ter a variável innodb_large_prefix definida.
Defina a flag |
Erro de SSL: preenchimento inválido. | Erro de certificado do servidor.
Crie um novo certificado do servidor e faça a rotação. |
Ocorreu um erro do sistema. |
Experimente estas ações…
|
Mensagem de erro | Resolução de problemas |
---|---|
A definição da tabela foi alterada. | Durante o processo de exportação, ocorreu uma alteração na tabela.
A transação de despejo pode falhar se usar as seguintes declarações durante a operação de exportação:
Remova qualquer uma destas declarações da operação de despejo. |
A tabela db.table não existe | Se uma ou mais tabelas InnoDB desapareceram após um reinício do MySQL e
o registo de erros do MySQL tiver os seguintes avisos ao mesmo tempo, deve-se ao facto de
as colunas de chaves estrangeiras e chaves referenciadas estarem dessincronizadas.
[Warning] InnoDB: Load table db.table failed, the table has missing foreign key indexes. Turn off 'foreign_key_checks' and try again. [Warning] InnoDB: Cannot open table db/table from the internal data dictionary of InnoDB though the .frm file for the table exists. See InnoDB troubleshooting for more information. Após um reinício da base de dados, o MySQL tem de carregar tabelas na cache do dicionário do InnoDB no primeiro acesso. Se detetar a discrepância, o sistema bloqueia o acesso a essa tabela. mysql> select * from db.table; ERROR 1146 (42S02): Table db.table doesn't exist Desativar o A incompatibilidade de chaves estrangeiras deve ser corrigida para evitar problemas futuros.
|
(Limite de tempo excedido) durante a exportação. | Os formatos CSV e SQL são exportados de forma diferente. O formato SQL inclui toda a base de dados e é provável que demore mais tempo a ser concluído.
Use o formato CSV e execute várias tarefas de exportação mais pequenas para reduzir o tamanho e a duração de cada operação. |
Demasiadas associações. | Definir o valor da flag max_connections demasiado elevado pode causar este erro. Isto também pode ser causado pela ativação de uma flag fora da sequência.
Diminua o valor da flag |
Mensagem de erro | Resolução de problemas |
---|---|
Não autorizado a estabelecer ligação. | Existem várias causas, uma vez que a autorização ocorre em vários níveis:
Experimente estas ações…
|
Tabela desconhecida COLUMN_STATISTICS em information_schema. |
Isto acontece se usar o binário mysqldump do MySQL 8.0 para despejar dados de uma base de dados do MySQL 5.7 e importar para uma base de dados do MySQL 8.0.
Se exportar dados de uma base de dados do MySQL 5.7 e importar para uma base de dados do MySQL 8.0,
certifique-se de que usa o binário |
Mensagem de erro | Resolução de problemas |
---|---|
x509: certificate isn't valid for any names. | Problema conhecido: o
Cloud SQL Proxy Dialer não é compatível com o Go 1.15 neste momento.
Até a correção, consulte esta discussão no GitHub, que inclui uma solução alternativa. |
Erros desconhecidos
A tabela seguinte mostra alguns casos conhecidos em que pode ocorrer um Unknown Error
e apresenta soluções específicas, quando aplicável. No entanto, esta lista não é exaustiva. Se não encontrar o seu registo na tabela, consulte o
rastreador de problemas
público do Cloud SQL.
Se não encontrar o problema, considere
enviar um relatório ou rever
outras opções de apoio técnico.
Operação | O problema pode ser... | Coisas a experimentar… |
---|---|---|
Adicionar utilizador | Se o utilizador já existir na base de dados, este erro pode ocorrer quando tenta adicioná-lo. | Verifique se o utilizador já existe na base de dados. |
cópia de segurança | Se vir esta mensagem durante cópias de segurança automáticas ou manuais, é provável que o disco da instância esteja cheio. | Se o tamanho do ficheiro temporário estiver a ocupar demasiado espaço, pode reiniciar a instância para remover o ficheiro e libertar espaço no disco. Caso contrário, pode ter de atualizar a instância para um tamanho do disco maior. |
Clonar | Isto pode ocorrer quando existe uma escassez de recursos na zona selecionada. | Experimente outra zona na região ou aguarde e tente novamente mais tarde. |
Criar instância |
|
|
Crie uma réplica | É provável que exista um erro mais específico nos ficheiros de registo. | Inspeccione os registos no Cloud Logging
para encontrar o erro real.
Se o erro for Se o erro for
|
Exportar | Se vir esta mensagem ao tentar exportar uma base de dados para um contentor do Cloud Storage, a transferência pode estar a falhar devido a um problema de largura de banda. | A instância do Cloud SQL pode estar localizada numa região diferente do contentor do Cloud Storage. A leitura e a gravação de dados de um continente para outro envolvem muita utilização da rede e podem causar problemas intermitentes como este. |
Failover (antigo) | Se estiver a usar a configuração de alternativa de recurso antiga, isto pode acontecer quando a máquina de réplica de alternativa de recurso não é suficientemente grande para processar a alternativa de recurso. | A melhor solução é migrar para a configuração de alta disponibilidade atual. Caso contrário, tem de atualizar a réplica de failover para uma máquina maior. |
Comutação por falha (automática) | Uma operação de comutação automática por falha pode produzir esta mensagem de erro quando o serviço deteta que a instância principal ainda está a responder. | Neste caso, não há nada a fazer. A comutação por falha não ocorre porque não é necessária. |
Importar | O ficheiro de importação pode conter declarações que requerem a função de superutilizador. | Edite o ficheiro para remover todas as declarações que exijam a função de superutilizador. |
O Cloud SQL também usa alguns ficheiros binários de terceiros (por exemplo, mysqld
), que podem gerar mensagens de erro desconhecidas. Estes erros são internos aos binários de terceiros e estão fora do âmbito do Cloud SQL.
No entanto, por vezes, é possível encontrar um erro mais específico nos
ficheiros de registo do Cloud SQL aproximadamente à mesma hora.
Além disso, por vezes, trata-se de um código de erro desconhecido. Neste caso, a mensagem completa pode ser Unknown Error Code
.