Esta página inclui dicas para solução de problemas do Cloud SQL para mecanismos de banco de dados compatíveis. Algumas dessas dicas se aplicam somente a mecanismos de banco de dados específicos, enquanto outras são comuns a todos.
Para dicas de solução de problemas para mecanismos de banco de dados específicos, consulte as páginas individuais deles:
Verifique se a pergunta ou o problema já foi resolvido em uma destas páginas:
- Perguntas frequentes
- Problemas conhecidos
- Mensagens de erro
- Diagnosticar problemas
- Depurar problemas de conexão
- Problemas ao atualizar a capacidade de armazenamento
Os tópicos desta página incluem:
- Backup e recuperação
- Clonagem
- Conectividade
- Como criar instâncias
- Principal externo
- Réplica externa
- Sinalizações
- Alta disponibilidade
- Importar e exportar
- Integrar com a Vertex AI
- Servidores vinculados
- Logging
- Como gerenciar instâncias
- Private Service Connect
- Replicação
Backup e recuperação
| Problema | Solução de problemas |
|---|---|
| Não é possível ver o status da operação atual. | O console Google Cloud informa apenas o sucesso ou falha no momento da
operação. Ele não foi criado para mostrar avisos ou outras atualizações.
Execute o
comando |
| Você quer descobrir quem emitiu uma operação de backup sob demanda. | A interface do usuário não mostra o usuário que iniciou uma operação.
Procure nos registros e filtre por texto para encontrar o usuário. Talvez seja necessário usar registros de auditoria para informações particulares. Os arquivos de registro relevantes incluem:
|
| Depois que uma instância é excluída, não é possível fazer backup dela. | Se você excluir uma instância sem fazer um backup final dos dados, não será possível recuperar nada. No entanto, se você restaurar a instância, o Cloud SQL também vai restaurar os backups. Para mais informações sobre como recuperar uma instância excluída, consulte Reter backups após a exclusão da instância. Se você tiver feito uma operação de exportação, crie uma nova instância e faça uma operação de importação para recriar o banco de dados. As exportações são gravadas no Cloud Storage e as importações são lidas de lá. |
| O backup automático fica paralisado por muitas horas e não pode ser cancelado. | Os backups podem levar muito tempo, dependendo do tamanho do banco de dados.
Se você realmente precisa cancelar a operação, peça ao
suporte ao cliente para aplicar |
| Uma operação de restauração pode falhar quando um ou mais usuários referenciados no arquivo dump SQL não existem. | Antes de restaurar um arquivo dump SQL, todos os usuários do banco de dados com objetos ou que
receberam permissões para os objetos do banco de dados despejado precisam existir no
banco de dados de destino. Caso contrário, a operação de restauração não recriará os
objetos com a propriedade ou as permissões originais.
Crie os usuários do banco de dados antes de restaurar do dump SQL. |
| Você quer aumentar o número de dias em que pode manter backups automáticos, de sete para 30 dias ou mais. | É possível
configurar o número de backups automatizados que serão retidos. Os backups automatizados são removidos
regularmente com base no valor de retenção configurado. Infelizmente, isso significa que os
backups visíveis atuais são os únicos backups automatizados que podem ser usados para restaurar.
Para manter os backups indefinidamente, crie um backup sob demanda. Ele não é excluído da mesma forma que backups automáticos. Os backups sob demanda permanecem indefinidamente. Ou seja, eles permanecem até que sejam excluídos ou a instância a que pertencem seja excluída. Como esse tipo de backup não é excluído automaticamente, ele pode afetar o faturamento. |
| Um backup automático falhou e você não recebeu uma notificação por e-mail. | Para que o Cloud SQL notifique você sobre o status do backup, configure um alerta com base em registros. |
| Uma instância está falhando repetidamente porque está alternando entre os estados de falha e de restauração de backup. As tentativas de conexão e uso do banco de dados após a restauração falham. |
O que tentar
|
| Você descobre que está faltando dados ao executar uma operação de backup/restauração. | As tabelas foram criadas como não registradas. Por exemplo:
Estas tabelas não estão incluídas em uma restauração de um backup:
A solução é evitar o uso de tabelas não registradas se você quiser restaurar essas
tabelas com um backup. Ao restaurar um banco de dados que já
tem tabelas não registradas, é possível despejar o banco de dados em um arquivo e recarregar os
dados depois de modificar o arquivo despejado para |
| Não é possível excluir uma instância quando você opta por fazer um backup final na exclusão da instância. |
Ao excluir uma instância, é necessário confirmar se você quer
fazer um backup final dela antes da exclusão. Se você ativou o
backup final usando a configuração de instância final-backup, a seleção
feita ao excluir a instância precisa corresponder à configuração de instância
do backup final definida ao ativar o backup final para sua
instância. Para minimizar esse problema, faça uma das seguintes ações:
|
| Não foi possível criar uma instância de réplica depois de criar uma instância principal com a configuração de backup final. |
Se você criar uma instância com a configuração final de instância de backup
ativada, atualize a política da organização de backup final
para aplicar as configurações de backup somente à instância principal.
Os backups finais não são compatíveis com instâncias de réplica. Para mais informações, consulte Políticas da organização do Cloud SQL. |
Clonar
| Problema | Solução de problemas |
|---|---|
Ocorreu uma falha na clonagem com um erro constraints/sql.restrictAuthorizedNetworks. |
A operação de clonagem é bloqueada pela configuração Authorized Networks.
Authorized Networks são configurados para endereços IP públicos na seção "Conectividade"
do console Google Cloud , e a clonagem não é permitida devido a
considerações de segurança.
Remova todas as entradas |
Mensagem de erro: Failed to create subnetwork. Couldn't find free
blocks in allocated IP ranges. Please allocate new ranges for this service
provider. Help Token: [help-token-id]. |
Você está tentando usar o console Google Cloud para clonar uma instância com um endereço IP particular, mas não especificou o intervalo de IP alocado que pretende usar e a instância de origem não foi criada com o intervalo especificado. Como resultado, a instância clonada é criada em um intervalo aleatório. Use |
Conectar
| Problema | Solução de problemas |
|---|---|
Aborted connection. |
O problema pode ser:
Os aplicativos devem tolerar falhas de rede e seguir as práticas recomendadas, como a repetição e o pooling de conexões. A maioria dos pools de conexão identifica esses erros sempre que possível. Caso contrário, o aplicativo precisará tentar novamente ou falhar normalmente. Para novas tentativas de conexão, recomendamos os métodos a seguir:
Combinar esses métodos ajuda a reduzir a limitação. |
Mensagem de erro: Login failed for user "" |
Esse erro de login pode ocorrer durante a autenticação do ID do Microsoft Entra. Para resolver esse problema, verifique se existe um login do SQL Server para esse usuário do Microsoft Entra ID. |
| Problemas de conectividade de rede com instâncias de IP particular | Você pode ter alguns dos seguintes problemas durante a configuração
da integração:
Para mais informações sobre como resolver esses problemas, consulte Solução de problemas da integração do Microsoft Entra ID. |
FATAL: database 'user' does not exist. |
gcloud sql connect --user funciona apenas com o usuário
postgres padrão.
Conecte-se com o usuário padrão e mude os usuários. |
| Você quer descobrir quem está conectado. | Faça login no banco de dados e execute este comando:
SELECT datname, usename, application_name as appname, client_addr, state, now() - backend_start as conn_age, now() - state_change as last_activity_age FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY 6 DESC LIMIT 20 |
Criar instâncias
| Problema | Solução de problemas |
|---|---|
Mensagem de erro: The zone or region does not have sufficient
resources to handle the request at the moment. |
A zona selecionada não tem capacidade para os recursos solicitados ou o tipo de VM no momento da solicitação de criação da instância. Pode haver uma alta demanda operacional simultânea nesse local regional específico no momento da solicitação. Para resolver esse problema, tente criar a instância em outra zona ou tente criar a instância na mesma zona que recebeu o erro em um horário diferente do dia. |
Mensagem de erro: Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider |
Não há mais endereços disponíveis no intervalo de IP alocado. Pode
haver vários cenários possíveis:
Para resolver esse problema, é possível expandir o intervalo de IP alocado existente ou alocar um intervalo de IP adicional para a conexão de serviço particular. Para mais informações, consulte Alocar um intervalo de endereços IP. Se você usou a sinalização Se você estiver alocando um novo intervalo, tenha cuidado para que a alocação não se sobreponha a nenhuma alocação atual. Depois de criar um novo intervalo de IP, atualize o peering VPC com o comando a seguir: 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 você estiver expandindo uma alocação atual, só aumente o intervalo de alocação em vez de diminuí-lo. Por exemplo, se a alocação original for 10.0.10.0/24, faça a nova alocação pelo menos 10.0.10.0/23. Em geral, se começar com uma alocação de /24, diminuir o /mascaramento em 1 para cada condição (grupo de tipo de instância adicional, região adicional) é uma boa regra geral. Por exemplo, se você tentar criar os dois grupos de tipos de instância na mesma alocação, a mudança de /24 para /23 será suficiente. Depois de expandir um intervalo de IP atual, use o seguinte comando para atualizar o peering VPC: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Mensagem de erro: Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] |
Tente criar a instância do Cloud SQL novamente. |
Mensagem de erro: HTTPError 400: Invalid request: Incorrect Service Networking config for instance: PROJECT_ID:INSTANCE_NAME:SERVICE_NETWORKING_NOT_ENABLED. |
Ative a API Service Networking usando o comando a seguir e tente criar a instância do Cloud SQL novamente. gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID |
Mensagem de erro: Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID |
Quando você cria uma instância usando um endereço IP privado, uma conta de serviço é criada no momento certo usando a API Service Networking. Se você ativou recentemente a API Service Networking, a conta de serviço pode não ser criada e a criação da instância falhará. Nesse caso, você precisa esperar a conta de serviço se propagar pelo sistema ou adicioná-la manualmente com as permissões necessárias. |
Mensagem de erro: More than 3 subject alternative names are not
allowed. |
Você está tentando usar uma SAN personalizada para adicionar mais de três nomes de DNS ao certificado do servidor de uma instância do Cloud SQL. Não é possível adicionar mais de três nomes DNS à instância. |
Mensagem de erro: Subject alternative names %s is too long. The
maximum length is 253 characters. |
Verifique se os nomes DNS que você quer adicionar ao certificado do servidor de uma instância do Cloud SQL não têm mais de 253 caracteres. |
Mensagem de erro: Subject alternative name %s is invalid. |
Verifique se os nomes DNS que você quer adicionar ao certificado do servidor de uma instância do Cloud SQL atendem aos seguintes critérios:
|
Exportar
| Problema | Solução de problemas |
|---|---|
HTTP Error 409: Operation failed because another operation was
already in progress. |
Já existe uma operação pendente para sua instância. Só é permitida uma operação por vez. Tente fazer o pedido após a conclusão da operação atual. |
HTTP Error 403: The service account does not have the required
permissions for the bucket. |
Verifique se o bucket existe e se a conta de serviço da instância do Cloud
SQL (que está fazendo a exportação) tem o
papel Storage Object Creator
(roles/storage.objectCreator) para permitir a exportação para o bucket. Consulte
Papéis do IAM para o Cloud Storage. |
| A exportação de CSV funcionou, mas a exportação de SQL falhou. | Os formatos CSV e SQL são exportados de maneira diferente. O formato SQL exporta todo
o banco de dados e provavelmente leva mais tempo para ser concluído. O formato CSV permite
definir quais elementos do banco de dados serão incluídos na exportação.
Use exportações de CSV para exportar apenas o que você precisa. |
| A exportação está demorando muito. | O Cloud SQL não é compatível com operações síncronas simultâneas.
Use o descarregamento de exportação. Em um alto nível, no descarregamento de exportação, em vez de emitir uma exportação na instância de origem, o Cloud SQL ativa uma instância de descarregamento para realizar a exportação. O descarregamento de exportação tem várias vantagens, incluindo o aumento do desempenho na instância de origem e o desbloqueio de operações administrativas enquanto a exportação está em execução. Com o descarregamento de exportação, a latência total pode aumentar pelo tempo necessário para exibir a instância de descarregamento. Geralmente, para exportações de tamanho razoável, a latência não é significativa. No entanto, se a exportação for pequena o suficiente, será possível notar um aumento na latência. |
| Erro ao criar extensão. | O arquivo dump contém referências a extensões não compatíveis. |
Erro ao usar pg_dumpall. |
O uso do utilitário pg_dumpall com a sinalização --global exige o papel de superusuário, mas esse papel não é compatível com o Cloud SQL. Para evitar erros
ao realizar operações de exportação que incluam nomes de usuários, use também a
sinalização --no-role-passwords.
|
A operação de exportação expira antes de exportar qualquer coisa, e você vê
a mensagem de erro Could not receive data from client: Connection reset
by peer. |
Se o Cloud Storage não receber dados em um determinado
período, geralmente em torno de sete minutos, a conexão será redefinida. É
possível que a consulta de exportação inicial esteja demorando muito para ser executada.
Faça uma exportação manual usando a
ferramenta |
| Você quer que as exportações sejam automatizadas. | O Cloud SQL não oferece uma maneira de automatizar exportações.
É possível criar seu próprio sistema de exportação automatizada usando produtos do Google Cloud como Cloud Scheduler, Pub/Sub e funções do Cloud Run, semelhante a este artigo sobre como automatizar backups. |
Principal externo
| Problema | Solução de problemas |
|---|---|
Lost connection to MySQL server during query when dumping table. |
A origem pode ter ficado indisponível ou o dump continha pacotes
muito grandes.
Verifique se a instância principal externa está disponível para conexão. Também é possível modificar os valores das sinalizações net_read_timeout e net_write_timeout na instância de origem para interromper o erro. Para mais informações sobre os valores permitidos para essas sinalizações, consulte Configurar sinalizações do banco de dados. Para saber mais sobre como usar sinalizações |
O despejo inicial falha com erros de tempo limite ou de conexão perdida (por exemplo,
Dump timeout ou Lost connection to MySQL server). |
Esse erro pode ocorrer se uma ou mais instruções DDL interagirem com
o processo de despejo paralelo, fazendo com que ele espere indefinidamente.
Resolução:não execute instruções DDL no banco de dados de origem durante a fase inicial de despejo. Antes de executar qualquer instrução DDL, reinicie a migração e aguarde a conclusão da fase de despejo inicial. |
| A migração inicial dos dados foi bem-sucedida, mas nenhum dado está sendo replicado. | Uma possível causa raiz pode ser sinalizações de replicação definidas pelo banco de dados de origem, o que faz com que algumas ou todas as alterações do banco de dados não sejam replicadas. Verifique se as sinalizações de replicação, como Execute o comando |
| A migração inicial de dados foi bem-sucedida, mas a replicação de dados deixa de funcionar após um tempo. | O que tentar
Se você encontrar o erro
|
mysqld check failed: data disk is full. |
O disco de dados da instância da réplica está cheio.
Aumente o tamanho do disco da instância de réplica. Aumente o tamanho do disco manualmente ou ative o aumento automático de armazenamento. |
Réplica externa
| Problema | Solução de problemas |
|---|---|
Mensagem de erro: The slave is connecting ... master has purged
binary logs containing GTIDs that the slave requires |
A instância principal do Cloud SQL tem backups automáticos e registros
binários, e a recuperação pontual está ativada. Por isso, ela precisa ter registros suficientes
para que a réplica possa acompanhar. No entanto, nesse caso, embora os registros binários existam, a réplica não sabe em qual linha começar a leitura.
Crie um novo arquivo dump usando as configurações de sinalização corretas e configure a réplica externa usando esse arquivo.
|
Sinalizações
| Problema | Solução de problemas |
|---|
Alta disponibilidade
| Problema | Solução de problemas |
|---|---|
| Não é possível encontrar as métricas de um failover manual. | Somente failovers automáticos entram nas métricas. |
| Os recursos da instância do Cloud SQL (CPU e RAM) estão quase com 100% de uso, fazendo com que a instância de alta disponibilidade fique inativa. | O tamanho da máquina da instância é pequeno demais para a carga.
Edite a instância para fazer upgrade para um tamanho de máquina maior e receber mais CPUs e memória. |
Importar
| Problema | Solução de problemas |
|---|---|
HTTP Error 409: Operation failed because another operation was already in progress. |
Já existe uma operação pendente para sua instância. Só é permitida uma operação por vez. Tente fazer o pedido após a conclusão da operação atual. |
| A operação de importação está demorando muito. | Muitas conexões ativas podem interferir nas operações de importação.
Feche operações não usadas. Verifique o uso de CPU e da memória da instância do Cloud SQL para garantir que haja muitos recursos disponíveis. A melhor maneira de garantir o máximo de recursos para a importação é reiniciar a instância antes de começar a operação. Uma reinicialização:
|
| Uma operação de importação pode falhar quando um ou mais usuários referenciados no arquivo dump não existem. | Antes de importar um arquivo dump, todos os usuários do banco de dados que têm objetos ou
receberam permissões nos objetos no banco de dados despejado precisam existir no
banco de dados de destino. Caso contrário, a operação de importação não recriará os
objetos com a propriedade ou as permissões originais.
Crie os usuários do banco de dados antes de importar. |
| Uma operação de importação falha com um erro de que uma tabela não existe. | As tabelas podem ter dependências de chave externa em outras tabelas e, dependendo da
ordem das operações, pode ser que uma ou mais delas ainda não existam
durante a operação de importação.
O que tentar Adicione a seguinte linha no início do arquivo dump: SET FOREIGN_KEY_CHECKS=0; Além disso, adicione esta linha ao final do arquivo dump: SET FOREIGN_KEY_CHECKS=1; Essas configurações desativam as verificações de integridade de dados enquanto a operação de importação está em andamento e as reativam após o carregamento dos dados. Isso não afeta a integridade dos dados no banco de dados porque eles já foram validados durante a criação do arquivo dump. |
Integrar com a Vertex AI
| Problema | Solução de problemas |
|---|---|
Mensagem de erro: Google ML Integration API is not supported on shared core instance. Please upsize your machine type. |
Se você selecionou um núcleo compartilhado para o tipo de máquina da sua instância, não vai ser possível ativar a integração da Vertex AI no Cloud SQL. Faça upgrade do seu tipo de máquina para o núcleo dedicado. Para mais informações, consulte Tipo de máquina. |
Mensagem de erro: Google ML Integration is unsupported for this maintenance version. Please follow https://cloud.google.com/sql/docs/mysql/self-service-maintenance to update the maintenance version of the instance. |
Para ativar a integração da Vertex AI no Cloud SQL, a versão de manutenção da instância precisa ser R20240130 ou posterior. Se quiser fazer upgrade da instância para esta versão, consulte Manutenção de autoatendimento. |
Mensagem de erro: Cannot invoke ml_predict_row if 'cloudsql.enable_google_ml_integration' is off. |
A flag do banco de dados cloudsql.enable_google_ml_integration está desativada. Não é possível integrar o Cloud SQL à Vertex AI.Para ativar essa sinalização, use o comando gcloud sql instances patch:gcloud sql instances patch INSTANCE_NAME --database-flags cloudsql.enable_google_ml_integration=onSubstitua INSTANCE_NAME pelo nome da instância principal do Cloud SQL. |
Mensagem de erro: Failed to connect to remote host: Connection refused. |