Perguntas frequentes sobre o Cloud SQL

Acerca de

O que é o Cloud SQL?
O Cloud SQL é um serviço que oferece bases de dados SQL totalmente geridas na nuvem. O Cloud SQL fornece bases de dados PostgreSQL, SQL Server e MySQL.
Quais são as vantagens de usar o Cloud SQL?
O Cloud SQL permite-lhe delegar à Google as tarefas comuns, mas necessárias e que consomem muito tempo, como aplicar patches e atualizações, gerir cópias de segurança e configurar replicações, para que possa concentrar-se na criação de excelentes aplicações. Além disso, como usamos protocolos de fios padrão, pode estabelecer ligação a partir de praticamente qualquer aplicação, em qualquer lugar.
Que versões de base de dados estão disponíveis com o Cloud SQL? Como são geridas as atualizações?

O Cloud SQL para MySQL suporta o MySQL 8.4, 8.0 (predefinição), 5.7 e 5.6.

O Cloud SQL para PostgreSQL suporta o PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17 e 18 (predefinição).

O Cloud SQL para SQL Server suporta estas edições do SQL Server: SQL Server 2017 Standard, SQL Server 2017 Enterprise, SQL Server 2017 Express, SQL Server 2017 Web, SQL Server 2019 Standard, SQL Server 2019 Enterprise, SQL Server 2019 Express, SQL Server 2019 Web, SQL Server 2022 Standard (predefinição), SQL Server 2022 Enterprise, SQL Server 2022 Express e SQL Server 2022 Web.

As atualizações de versões secundárias são implementadas como parte da manutenção programada, sem ser necessária qualquer ação da sua parte. Para mais informações sobre atualizações, consulte o artigo Vista geral da manutenção em instâncias do Cloud SQL.

Para ver a versão atual da sua instância, aceda à Google Cloud consola, clique no nome da instância para abrir a página Detalhes da instância. Em alternativa, pode usar o comando gcloud sql instances describe.

O Cloud SQL suporta todas as funcionalidades de base de dados?
O Cloud SQL suporta as funcionalidades mais comuns do MySQL, PostgreSQL e SQL Server. Para ver uma lista das diferenças entre a funcionalidade de base de dados padrão e o que o Cloud SQL oferece, consulte, por exemplo, o artigo Diferenças entre o Cloud SQL e a funcionalidade padrão do MySQL. Consulte também as diferenças entre o Cloud SQL e a funcionalidade padrão do PostgreSQL. Além disso, consulte Funcionalidades do SQL Server indisponíveis para o Cloud SQL.
Existem limites de tamanho ou de CPS?
Não existem limites de consultas por segundo (CPS) para instâncias do Cloud SQL. Para obter informações sobre a ligação, o tamanho e os limites específicos do App Engine, consulte o artigo Quotas e limites.
Como posso receber uma notificação quando existem alterações ao Cloud SQL?
Pode inscrever-se no fórum google-cloud-sql-announce onde publicamos anúncios e notícias sobre o Cloud SQL.
Como posso comunicar um erro, pedir uma funcionalidade ou fazer uma pergunta?
Pode comunicar erros e pedir uma funcionalidade no nosso grupo google-cloud-sql-discuss. Pode fazer uma pergunta no Stack Overflow. Para outras opções de apoio técnico, consulte a página Apoio técnico do Cloud SQL.
Voltar ao início

Começar a usar

Qual é a melhor ferramenta do MySQL para usar na gestão da minha instância?
Existem várias ferramentas do MySQL disponíveis para o Cloud SQL. Para executar declarações individuais, pode usar a ferramenta de linhas de comando do MySQL. Para executar tarefas mais complicadas ou usar um ambiente de desenvolvimento de base de dados mais completo, pode experimentar o Toad for MySQL ou o MySQL Workbench. Para mais informações, consulte o artigo Ferramentas de administração e relatórios.
Que motor de armazenamento uso?
Para instâncias do MySQL, o InnoDB é o único motor de armazenamento suportado.

Se tiver um ficheiro mysqldump onde todas as tabelas estão no formato MyISAM, pode convertê-las para o formato InnoDB através de um script sed:

mysqldump --databases [DATABASE_NAME] \
-h [INSTANCE_IP] -u [USERNAME] -p [PASSWORD] \
--hex-blob --default-character-set=utf8mb4 | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' > [DATABASE_FILE].sql

Aviso: não faça isto se o seu ficheiro mysqldump contiver o esquema mysql. Esses ficheiros têm de permanecer no MyISAM.

Por que motivo a minha nova instância sem dados mostra o espaço em disco usado?
O Cloud SQL e a base de dados usam algum espaço para ficheiros do sistema e metadados quando a instância é criada.
Voltar ao início

Armazenamento, replicação e autenticação de dados

Onde são armazenados os meus dados?

Os dados da instância são armazenados na região onde a instância reside. Se não especificar uma localização de armazenamento, as suas cópias de segurança são armazenadas na multirregião geograficamente mais próxima da localização da sua instância do Cloud SQL. Por exemplo, se a sua instância do Cloud SQL estiver em us-central1, as cópias de segurança são armazenadas na multirregião us por predefinição. No entanto, uma localização predefinida, como australia-southeast1, está fora de uma região múltipla. A região com vários países mais próxima é asia.

O que é uma zona?

Uma zona é uma entidade independente numa localização geográfica específica onde pode executar os seus recursos. Por exemplo, uma zona denominada us-central1-a indica uma localização no centro dos Estados Unidos.

Para instâncias do MySQL, a tolerância a falhas entre zonas pode ser alcançada através da configuração da instância para alta disponibilidade. A configuração de alta disponibilidade é fortemente recomendada para todas as instâncias de produção.

Para mais informações sobre as zonas, consulte o artigo Recursos de zona na documentação do Compute Engine.

Quais são os limites de armazenamento?
Para ver informações sobre os limites de armazenamento, consulte Quotas e limites.
Como é que os meus dados são replicados?

Instâncias do MySQL: As instâncias do MySQL oferecem uma configuração de alta disponibilidade e réplicas de leitura do MySQL. As réplicas de leitura do MySQL usam a replicação assíncrona.

As instâncias do PostgreSQL oferecem uma configuração de alta disponibilidade e réplicas de leitura.

As instâncias do SQL Server oferecem uma configuração de alta disponibilidade e réplicas de leitura.

Que tipo de réplicas de leitura posso criar?

Para mais informações sobre as réplicas de leitura, incluindo exemplos de utilização de cada tipo, consulte Opções de replicação.

Como funciona a comutação por falha do Cloud SQL?

Para informações sobre a comutação por falha, consulte a Vista geral da configuração de alta disponibilidade.

Os meus dados estão encriptados?
Os dados dos clientes do Cloud SQL são encriptados quando são armazenados em tabelas de bases de dados, ficheiros temporários e cópias de segurança. As ligações externas podem ser encriptadas através de SSL ou através do proxy Auth do Cloud SQL.
Como é gerida a encriptação de dados em repouso?

Os seus dados são encriptados através da norma de encriptação avançada (AES-256) de 256 bits ou superior, com chaves simétricas. Ou seja, é usada a mesma chave para encriptar os dados quando são armazenados e para os desencriptar quando são usados. Estas chaves de dados são encriptadas com uma chave armazenada num arquivo de chaves seguro e alteradas regularmente.

Para mais detalhes, consulte o artigo Encriptação em repouso no Google Cloud.

Como é gerida a encriptação dos dados em trânsito?

A Google encripta e autentica todos os dados em trânsito numa ou mais camadas de rede quando os dados se movem para fora dos limites físicos não controlados pela Google ou em nome da Google. Os dados em trânsito dentro de um limite físico controlado pela Google ou em nome desta são geralmente autenticados, mas podem não ser encriptados por predefinição. Se estabelecer ligação a uma instância através do respetivo endereço IP público, use certificados SSL/TLS para que os dados fiquem seguros durante a transmissão. Pode escolher que medidas de segurança adicionais aplicar com base no seu modelo de ameaças. Por exemplo, pode configurar o SSL para ligações intrazona ao Cloud SQL.

Para mais detalhes, consulte o artigo Encriptação em trânsito no Google Cloud.

Como posso saber se uma instância é uma réplica de leitura?
Pode usar a Google Cloud consola para ver todas as suas instâncias do Cloud SQL e se uma instância é uma instância principal ou uma réplica de leitura. Também pode usar a CLI gcloud para verificar se uma instância é uma réplica principal ou de leitura. Para mais informações, consulte o artigo Verificar o estado da replicação.
O Cloud SQL oferece balanceamento de carga para pedidos de leitura de réplicas?
O
Cloud SQL não fornece nem configura automaticamente o equilíbrio de carga. Pode usar a agrupamento de ligações para distribuir pedidos de leitura entre réplicas de leitura, alternando entre vários pontos finais de ligação.
Sim. A autenticação, a autorização e muito mais estão disponíveis. Como ponto de partida, consulte a vista geral.
Voltar ao início

Cópia de segurança e recuperação

Como posso recuperar uma instância?

Para restaurar uma cópia de segurança, pode usar a Google Cloud consola ou a ferramenta de gcloudlinha de comandos. Para mais detalhes, consulte o artigo Restaurar uma instância.

Para restaurar uma instância para um ponto específico no tempo, usa uma recuperação pontual. Para mais informações, consulte o artigo Use a recuperação num ponto específico no tempo.

Quanto custam as cópias de segurança?

As cópias de segurança são cobradas à taxa de armazenamento de instâncias.

Para mais informações sobre os preços do armazenamento de instâncias e as taxas de instâncias, consulte a página Preços.

Posso aceder a cópias de segurança automáticas com mais de sete dias?

As cópias de segurança automáticas são feitas todos os dias e, por predefinição, são mantidas durante sete dias. Pode configurar o valor de retenção da cópia de segurançade uma a 365 cópias de segurança. No final do período de retenção, a cópia de segurança mais antiga é eliminada. As cópias de segurança automáticas são incrementais. Contêm apenas dados que foram alterados após a criação da cópia de segurança anterior. A cópia de segurança mais antiga tem um tamanho semelhante ao da base de dados. Quando a cópia de segurança mais antiga é eliminada, o tamanho da cópia de segurança seguinte mais antiga aumenta para que continue a existir uma cópia de segurança completa.

Tenha em atenção que as cópias de segurança a pedido não são eliminadas até as remover manualmente.

Como é que a recuperação num ponto específico no tempo afeta o desempenho?
Para o Cloud SQL para MySQL, a recuperação num determinado momento requer que ative o registo binário. Isto significa que cada atualização à sua base de dados é escrita num registo independente, o que implica uma pequena redução no desempenho de escrita. O desempenho das operações de leitura não é afetado pelo registo binário, independentemente do tamanho dos ficheiros de registo binário.
Quando devo usar a replicação externa em vez da replicação entre regiões para a proteção contra falhas de regiões?
Replicação externa Replicação entre regiões
Autogerido pelo cliente Réplica entre regiões gerida do Cloud SQL
Pode ser replicado entre instâncias do Google Cloud e não pertencentes ao Google Cloud Só pode fazer a replicação entre instâncias do Cloud SQL
Para migrar para/do Google Cloud para minimizar o tempo de inatividade ou para a proteção de dados híbrida/multinuvem Para migrar dados entre regiões do Google Cloud de modo a minimizar o tempo de inatividade
Suporta a replicação entre versões principais Não suporta a replicação entre versões principais
Voltar ao início

Gerir as suas instâncias

Que ações podem fazer com que as instâncias do Cloud SQL sejam reiniciadas?
As instâncias do Cloud SQL podem ser reiniciadas quando o utilizador ou o Cloud SQL realizam as seguintes ações:
  • Atualizar
  • Criar
  • Promova réplicas
  • Manutenção
  • Recrie réplicas
  • Failover
  • Reiniciar
  • Restaure a instância a partir da cópia de segurança
  • Ative a elevada disponibilidade numa instância existente (esta é uma atualização da instância)
  • Adicione uma flag de base de dados que requer um reinício

O reinício de uma instância não altera os endereços IP públicos ou privados da instância.

Consulte a secção seguinte: Durante quanto tempo é que as instâncias são encerradas durante o reinício?

Durante quanto tempo as instâncias são encerradas durante o reinício?

Quando as instâncias são reiniciadas, a maioria é encerrada durante um a dois minutos. Antes de a instância ser encerrada, todas as ligações são terminadas e o trabalho atual é descarregado do disco.

Para instâncias com uma carga grande, este processo demora mais tempo e pode parecer que a instância está bloqueada. Nestes casos, a instância pode demorar até uma hora a ser encerrada e reiniciada. Os motivos pelos quais as instâncias demoram muito tempo a ser encerradas e reiniciadas podem incluir quando o utilizador tem muitas transações de escrita ou quando as transações são executadas durante muito tempo.

Posso aumentar ou diminuir a minha base de dados?

Pode aumentar a quantidade de armazenamento disponível para a sua instância em qualquer altura sem incorrer em tempo de inatividade. Não pode diminuir o tamanho do armazenamento da sua instância. Também pode configurar a instância para aumentar automaticamente a capacidade de armazenamento quando o espaço estiver a ficar reduzido. Saiba mais.

Posso atualizar e alterar o número de vCPUs?

Sim. Pode alterar o número de vCPUs que usa na sua instância. Pode aumentar ou diminuir o número de núcleos que usa quantas vezes quiser. Normalmente, a alteração do número de vCPUs demora menos de cinco minutos de inatividade. Se estiver a aumentar o número de vCPUs na instância principal da edição Cloud SQL Enterprise Plus, a alteração entra em vigor com um tempo de inatividade quase nulo.

Tenho de usar a Google Cloud consola para gerir o Cloud SQL?
Não. Todas as tarefas de gestão que podem ser realizadas através da consola também podem ser realizadas programaticamente através da API Cloud SQL Admin ou através de scripts com a gcloud ferramenta de linha de comandos.
Como posso recuperar o espaço de uma mesa removida?
Quando elimina uma tabela de uma base de dados e, em seguida, verifica a Google Cloud consola, pode ver que o espaço libertado pela eliminação das tabelas não se reflete no armazenamento usado comunicado da instância. As instâncias com o MySQL 5.5 têm a flag innodb_file_per_table definida como OFF por predefinição. O InnoDB nunca reduz o respetivo tablespace predefinido. Para reclamar espaço para esta configuração, crie uma nova instância a partir da base de dados mais pequena ou altere o valor da flag innodb_file_per_table para ON. Para obter informações sobre como alterar as flags da base de dados, consulte o artigo Configurar flags da base de dados.
Como posso recuperar o espaço usado por ficheiros temporários?
Os ficheiros temporários podem aumentar quando as consultas SQL criam muitas tabelas temporárias. Para reclamar o espaço usado por tabelas temporárias, tem de reiniciar a base de dados. Tenha em atenção que o reinício da base de dados não reduz o espaço em disco aprovisionado resultante do crescimento dos ficheiros temporários.
Como posso acompanhar as alterações aos dados?
Para acompanhar as alterações aos dados, ative o registo binário para a sua instância. A monitorização das alterações aos dados pode ajudar a recuperar de uma perda de dados acidental. No caso de perda de dados acidental, como a de um comando DROP DATABASE, pode restaurar até às coordenadas do registo binário imediatamente antes do evento de perda de dados. Para mais informações, consulte a secção Recuperação num determinado momento. O registo binário ainda não está disponível para instâncias do PostgreSQL.
Posso importar ou exportar uma base de dados específica?
Sim. Para instâncias do MySQL e instâncias do SQL Server, pode importar e exportar uma única base de dados ou várias bases de dados. Para instâncias do PostgreSQL, só pode importar ou exportar uma base de dados específica.
Posso importar ou exportar um ficheiro CSV?
Pode importar ou exportar um ficheiro CSV para o MySQL ou o PostgreSQL. Para mais informações, consulte o artigo Criar um ficheiro CSV.

Atualmente, o CSV não é suportado no Cloud SQL para SQL Server.

Preciso de uma conta do Cloud Storage para importar ou exportar dados para uma instância do Google Cloud?
O Cloud SQL suporta a importação e a exportação de bases de dados, como ficheiros de despejo SQL comprimidos ou não comprimidos e ficheiros CSV, através de um contentor do Cloud Storage. Para importar ou exportar através de um contentor do Cloud Storage, tem de se inscrever numa Google Cloud conta e criar um contentor, ou ter acesso a um contentor do Cloud Storage noutra conta. Para mais informações, consulte os artigos Exportar e importar com ficheiros de despejo SQL, Exportar e importar com pg_dump e pg_restore, Exportar e importar com ficheiros BAK ou Exportar e importar com ficheiros CSV.
O que significa ERROR_RDBMS numa operação de importação?
Este erro ocorre se o MySQL devolver um erro durante uma operação de importação de dados. As causas comuns incluem: sintaxe inválida, utilização de uma base de dados ou de uma tabela que não foi definida e tentativa de execução de declarações MySQL que requerem o privilégio SUPER.
Se eliminar a minha instância, posso reutilizar o nome da instância?
Sim.