Recursos do Cloud SQL

Esta página mostra os principais recursos e capacidades do Cloud SQL. O Cloud SQL está disponível para MySQL, PostgreSQL e SQL Server.

Cloud SQL para MySQL

Recursos

  • Bancos de dados MySQL Community Edition totalmente gerenciados na nuvem.
  • As instâncias do Cloud SQL são compatíveis com MySQL 8.0, 5.7 (padrão) e 5.6. Elas oferecem até 624 GB de RAM e 64 TB de armazenamento de dados, com a opção de aumentar automaticamente o tamanho do armazenamento conforme necessário.
  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nas Américas, na UE, na Ásia e na Austrália. Veja todos os locais.
  • Os dados do cliente são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Suporte para conexões externas seguras com o proxy do Cloud SQL Auth ou com o protocolo SSL/TLS.
  • Suporte para IP privado (acesso a serviços privados).
  • Replicação de dados entre várias zonas com failover automático.
  • Importação e exportação de bancos de dados com o mysqldumpou arquivos CSV.
  • Suporte para MySQL Wire Protocol e conectores padrão do MySQL.
  • Backups automatizados e sob demanda, além de recuperação pontual.
  • Clonagem de instâncias.
  • Integração com a geração de registros e o monitoramento do Pacote de operações do Google Cloud.
  • Conformidade com a ISO/IEC 27001.

Idiomas compatíveis

É possível usar o Cloud SQL para MySQL com aplicativos do App Engine em execução no ambiente flexível escritos em C#, Go, Java, Node.js, PHP, Python e Ruby. Também pode ser usado o Cloud SQL com aplicativos externos com o protocolo padrão MySQL.

Como se conectar a instâncias do Cloud SQL

Você pode se conectar a uma instância do Cloud SQL para o MySQL em:

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google. O acesso por serviços privados é compatível. Para mais informações, consulte Opções de acesso privado para serviços.

Gerenciamento de usuários no MySQL do Cloud SQL 8.0

Devido a alterações no MySQL 8.0, não é possível usar CREATE ou DELETE no gerenciamento de usuários do MySQL. Também não é possível modificar os privilégios de usuário usando as instruções INSERT, UPDATE ou DELETE. Em vez disso, use as instruções CREATE, DROP USER, GRANT e REVOKE para modificar os privilégios do usuário. Para mais informações, consulte Observações sobre o gerenciamento de contas (em inglês).

Observação: exclua as informações das observações de gerenciamento de contas sobre a execução do mysql_upgrade a fim de fazer upgrade para a versão 8.0. Em vez disso, faça upgrade usando o procedimento em Como fazer upgrade do MySQL em uma instância.

Diferenças entre o Cloud SQL e a funcionalidade padrão do MySQL

Em geral, a funcionalidade do MySQL fornecida por uma instância do Cloud SQL é a mesma fornecida por uma hospedada no local. No entanto, existem algumas diferenças entre uma instância padrão do MySQL e uma do Cloud SQL.

Recursos MySQL não compatíveis

O seguinte recurso não é compatível com o MySQL do Cloud SQL 5.6 e 5.7:

  • O privilégio SUPER (em inglês)

Os recursos a seguir não são compatíveis com o MySQL do Cloud SQL 8.0:

Plug-ins não compatíveis

Instruções não compatíveis

As seguintes instruções SQL geram um erro com a mensagem "Erro 1290: o servidor MySQL está sendo executado com a opção do Google e não pode executar esta instrução":

  • LOAD DATA INFILE

    Observe que LOAD DATA LOCALINFILE é compatível.

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

As seguintes instruções não são compatíveis porque as instâncias do MySQL usam a replicação GTID:

  • instruções CREATE TABLE ... SELECT
  • Transações ou instruções que atualizam tabelas transacionais e não transacionais

A instrução a seguir não é compatível com o MySQL para MySQL do Cloud SQL 5.6 e 5.7, mas é compatível com o MySQL do Cloud SQL 8.0.

  • Instruções CREATE TEMPORARY TABLE dentro de transações

Para mais informações, veja a documentação do MySQL.

Funções não compatíveis

  • LOAD_FILE()

Recursos de programa cliente incompatíveis

  • mysqlimport (em inglês) sem usar a opção --local. Isso ocorre devido à restrição LOAD DATA INFILE. Se for preciso carregar dados remotamente, use a função de importação do Cloud SQL.

  • o mysqldump (em inglês) usando a opção --tab ou as opções que são usadas com --tab. Isso ocorre porque o privilégio FILE (em inglês) não é concedido para os usuários da instância. Todas as outras opções mysqldump são compatíveis.

  • Para importar bancos de dados com dados binários para a instância MySQL do Cloud SQL, use a opção --hex-blob com mysqldump.

    hex-blob não é uma sinalização obrigatória ao usar uma instância local do servidor MySQL e o cliente mysql, mas ela será necessária se você quiser importar um banco de dados com dados binários para a instância do Cloud SQL. Para mais informações sobre como importar dados, consulte Como importar dados.

  • Nem todas as opções e parâmetros do MySQL estão ativados para edição como sinalizações do Cloud SQL.

    Para solicitar a adição de uma sinalização do Cloud SQL configurável, use o grupo de discussão do Cloud SQL.

  • O InnoDB é o único mecanismo de armazenamento compatível. Para ajuda com a conversão de tabelas do MyISAM para o InnoDB, consulte a documentação do MySQL (em inglês).

Opções predefinidas do MySQL no Cloud SQL

O Cloud SQL executa o MySQL com um conjunto específico de opções. Se uma opção puder afetar o funcionamento dos aplicativos, essa informação será indicada aqui.

skip-name-resolve

Essa sinalização afeta o modo como os nomes de host são resolvidos para conexões de cliente. Saiba mais.

log_bin

Esta sinalização informa se o registro binário está ativo. Se --log-bin option for usado, o valor dessa variável será ON. Caso contrário, será OFF. Saiba mais

Autenticação do MySQL 8.0

O MySQL 8.0 do Cloud SQL usa mysql_native_password como o plug-in de autenticação padrão para novos usuários em vez de caching_sha2_password. O plug-in mysql_native_password é o padrão para usuários do MySQL 5.6 e 5.7.

Se você quiser que novos usuários usem o plug-in caching_sha2_password (em inglês) como autenticação padrão, configure sua sinalização de instância para que default_authentication_plugin use caching_sha2_password."

Se você quiser configurar os usuários atuais para usar caching_sha2_password, utilize o comando ALTER USER para alterar o plug-in de autenticação.

Os usuários que têm a autenticação caching_sha2_password podem precisar usar a sinalização get-server-public-key ao se conectar. Para detalhes, consulte a seção de documentos do MySQL sobre Como usar a autenticação plugável em SHA-2.

Alterações nas sinalizações do sistema MySQL no Cloud SQL

Em algumas sinalizações do sistema MySQL, o Cloud SQL usa valores diferentes do padrão. Não é possível mudar essas sinalizações do sistema. Para uma lista de sinalizações, consulte Sinalizações do sistema MySQL alteradas no Cloud SQL.

Recurso do Cloud SQL incompatível no MySQL 8.0 do Cloud SQL

O MySQL 8.0 do Cloud SQL não é compatível com a versão legada da configuração de alta disponibilidade (HA, na sigla em inglês) do MySQL que usa réplicas de failover. Ele é compatível com a nova configuração de HA regional.

Cloud SQL para PostgreSQL

Recursos

  • Bancos de dados PostgreSQL totalmente gerenciados na nuvem.
  • Tipos de máquina personalizados com até 624 GB de RAM e 96 CPUs.
  • Até 64 TB de armazenamento disponível, com a capacidade de aumentar automaticamente o tamanho de armazenamento conforme necessário.
  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nas Américas, na UE, na Ásia e na Austrália. Veja todos os locais
  • Os dados do cliente são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Suporte para conexões externas seguras com o proxy do Cloud SQL Auth ou com o protocolo SSL/TLS.
  • Replicação de dados entre várias zonas com failover automático.
  • Importar e exportar bancos de dados usando arquivos de despejo SQL.
  • Suporte para o protocolo cliente-servidor do PostgreSQL e conectores padrão do PostgreSQL.
  • Backups automatizados e sob demanda, além de recuperação pontual.
  • Clonagem de instâncias.
  • Integração com a geração de registros e o monitoramento do Pacote de operações do Google Cloud.
  • Suporte para várias versões do PostgreSQL.
  • Replicação lógica

Recursos ainda não disponíveis

Os recursos do PostgreSQL 12 e 13 ainda não estão disponíveis para o Cloud SQL:

  • Compilação Just-in-Time (JIT) de máquina virtual de baixo nível (LLVM, na sigla em inglês)

Extensões compatíveis

O Cloud SQL é compatível com muitas extensões do PostgreSQL. Para uma lista completa, consulte Extensões do PostgreSQL.

Linguagens procedurais compatíveis

O Cloud SQL é compatível com a linguagem processual PL/pgSQL do SQL.

Idiomas compatíveis

É possível usar o Cloud SQL para PostgreSQL com aplicativos do App Engine em execução nos ambientes flexíveis escritos em C#, Go, Java, Node.js, PHP, Python e Ruby. Você também pode usar o Cloud SQL com aplicativos externos que usem o protocolo padrão cliente-servidor do PostgreSQL.

Como se conectar a instâncias do Cloud SQL

Você pode se conectar a uma instância do Cloud SQL para PostgreSQL a partir de:

  • um cliente psql. Saiba mais
  • ferramentas de terceiros que usam o protocolo cliente-servidor padrão do PostgreSQL;
  • aplicativos externos; Saiba mais.
  • aplicativos do App Engine; Saiba mais.
  • aplicativos em execução no Compute Engine; Saiba mais.
  • aplicativos em execução no Google Kubernetes Engine; Saiba mais.
  • Cloud Functions; Saiba mais.
  • Cloud Run. Saiba mais

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google.

Diferenças entre as funcionalidades do Cloud SQL e do PostgreSQL padrão

Em geral, a funcionalidade do PostgreSQL fornecida por uma instância do Cloud SQL é a mesma fornecida por uma instância do PostgreSQL localmente hospedada. No entanto, existem algumas diferenças entre uma instância padrão do PostgreSQL e uma instância do Cloud SQL.

Recursos não suportados

  • Recursos que exigem privilégios de SUPERUSER.

    Há uma exceção a essa regra para a instrução CREATE EXTENSION, mas somente para extensões compatíveis.

  • Trabalhos de segundo plano personalizados.

  • O cliente psql no Cloud Shell não é compatível com operações que exigem uma reconexão, como a conexão com um banco de dados diferente usando o comando \c.

Diferenças significativas

Cloud SQL para SQL Server

Recursos

  • Bancos de dados do SQL Server totalmente gerenciados na nuvem.
  • Tipos de máquina personalizados com até 624 GB de RAM e 96 CPUs.
  • Até 64 TB de armazenamento disponível, com a capacidade de aumentar automaticamente o tamanho de armazenamento conforme necessário.
  • Crie e gerencie instâncias no Console do Google Cloud.
  • Instâncias disponíveis nas Américas, na UE, na Ásia ou na Austrália. Veja todos os locais
  • Os dados de clientes são criptografados nas redes internas do Google e em tabelas de banco de dados, arquivos temporários e backups.
  • Criptografia no nível da coluna e da célula para bancos de dados do usuário.
  • Suporte para conexões externas seguras com o proxy do Cloud SQL Auth ou com o protocolo SSL/TLS.
  • Importe bancos de dados usando arquivos BAK e SQL.
  • Exporte bancos de dados usando arquivos BAK.
  • Backups automatizados e sob demanda.
  • Clonagem de instâncias.
  • Integração com registro e monitoramento do Stackdriver.
  • SQL Server Agent ativado para facilitar a replicação e outros jobs.
  • Replicação de dados entre várias regiões.
  • Defina uma compilação padrão para bancos de dados ao criar uma instância.
  • Alta disponibilidade por meio do disco permanente regional.
  • Integração com o serviço gerenciado para o Microsoft Active Directory, incluindo a autenticação do Windows.
  • Captura de dados de alterações (CDC)
  • Processamento inteligente de consultas.
  • Recuperação de banco de dados acelerada.
  • Classificação de dados aprimorada.
  • Compatibilidade com codificação de caracteres UTF-8.
  • Monitoramento aprimorado.

Recursos do SQL Server indisponíveis para o Cloud SQL:

Os recursos a seguir não estão disponíveis no Cloud SQL e não são compatíveis com o suporte do Google Cloud.

Recursos gerais indisponíveis para o Cloud SQL

  • SQL Server Reporting Services (SSRS), mas é possível usar o Compute Engine ou um ambiente autogerenciado (de onde você se conecta ao Cloud SQL)
  • SQL Server Analysis Services (SSAS), mas é possível usar o Compute Engine ou um ambiente autogerenciado (de onde você se conecta ao Cloud SQL)
  • SQL Server Integration Services (SSIS), mas é possível usar o Compute Engine ou um ambiente autogerenciado (de onde você se conecta ao Cloud SQL)
  • Configurações SP_Configure (consulte Como configurar sinalizações do banco de dados)
  • Expandir o banco de dados
  • Como fazer backup no armazenamento de Blobs do Microsoft Azure
  • Extensão do pool de buffer
  • Recursos BULK INSERT e OPENROWSET(BULK...)
  • Serviços de qualidade de dados
  • Envio de registros do banco de dados
  • Email do banco de dados
  • Coordenador de transações de distribuição (MSDTC)
  • Tabelas de arquivos
  • Suporte para FILESTREAM
  • Planos de manutenção
  • Coletor de dados de desempenho
  • Gerenciamento com base em políticas
  • PolyBase
  • Machine learning e serviços R (necessita de acesso ao SO para instalar)
  • Gerenciamento de recursos
  • Auditoria do SQL Server
  • Gatilhos a nível de servidor
  • Endpoints do agente de serviços
  • Endpoints T-SQL (todas as operações que usam CREATE ENDPOINT estão indisponíveis)
  • Serviços de dados WCF
  • O papel sysadmin e os procedimentos armazenados pelo sistema que exigem isso
  • Servidores vinculados
  • Pool de buffer híbrido
  • Metadados tempdb com otimização de memória
  • Compatibilidade com OLTP na memória para snapshots de banco de dados
  • Como registrar idiomas externos

Outras operações indisponíveis para o Cloud SQL

  • ADMINISTER BULK OPERATIONS
  • ALTER ANY CREDENTIAL
  • ALTER ANY EVENT NOTIFICATION
  • ALTER ANY EVENT SESSION
  • ALTER ANY SERVER AUDIT
  • ALTER RESOURCES
  • ALTER SETTINGS
  • AUTHENTICATE SERVER
  • CONTROL_SERVER
  • CREATE DDL EVENT NOTIFICATION
  • CREATE ENDPOINT
  • CREATE TRACE EVENT NOTIFICATION
  • EXTERNAL ACCESS ASSEMBLY
  • RESTORE
  • SHUTDOWN
  • CLR ASSEMBLIES

Sintaxe aceita

O Cloud SQL é compatível com a sintaxe Transact-SQL.

Idiomas compatíveis

É possível usar o Cloud SQL para SQL Server com aplicativos do App Engine em execução nos ambientes flexíveis escritos em C#, Go, Java, Node.js, PHP, Python e Ruby.

Como se conectar a instâncias do Cloud SQL

É possível conectar-se a instâncias do Cloud SQL para SQL Server a partir de:

Não é possível se conectar ao Cloud SQL usando o acesso privado do Google.