Recursos do MySQL por edições do Cloud SQL
Para mais informações sobre os recursos do Cloud SQL edição Enterprise Plus e do Cloud SQL edição Enterprise do Cloud SQL para MySQL, consulte Introdução às edições do Cloud SQL.
Recursos gerais do MySQL compatíveis com o Cloud SQL
- Bancos de dados MySQL Community Edition totalmente gerenciados na nuvem.
- Instâncias disponíveis nas Américas, na UE, na Ásia e na Austrália. Consulte todos os locais em que é possível criar instâncias do Cloud SQL.
- É compatível com a migração de bancos de dados de origem para os bancos de dados de destino do Cloud SQL usando o Database Migration Service (DMS).
- Os dados de clientes 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
mysqldump
ou 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 o monitoramento e a geração de registros do Google Cloud Observability.
- Conformidade com a ISO/IEC 27001.
* As regiões do México, de Montreal e de Osaka têm três zonas em um ou dois data centers físicos. Essas regiões estão em processo de expansão para pelo menos três data centers físicos. Para mais informações, consulte Locais do Cloud e SLAs do Google Cloud Platform. Para melhorar a confiabilidade das cargas de trabalho, considere uma implantação multirregional.
Linguagens de aplicativo compatíveis com o Cloud SQL para MySQL
É possível usar o Cloud SQL com aplicativos do App Engine em execução no ambiente flexível que são escritos em:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
Também é possível usar o Cloud SQL com aplicativos externos que usam o protocolo MySQL padrão.
Como se conectar a instâncias do Cloud SQL para MySQL
É possível se conectar a uma instância do Cloud SQL destas maneiras:
- Um cliente
mysql
- Ferramentas de terceiros, como SQL Workbench ou Toad para MySQL
- Aplicativos externos
- aplicativos do App Engine
- Aplicativos em execução no Compute Engine
- Aplicativos em execução no Google Kubernetes Engine
- Funções do Cloud Run
- Cloud Run
- Scripts do Google Apps Script
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 Cloud SQL para MySQL 8.0
Devido a mudanças no MySQL 8.0, não é possível usar instruções CREATE
ou DELETE
para gerenciar
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 USER
, DROP USER
,
GRANT
e REVOKE
para modificar os privilégios de 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 MySQL padrão e o Cloud SQL para MySQL
Em geral, a funcionalidade do MySQL fornecida por uma instância do Cloud SQL é a mesma fornecida por uma instância do MySQL hospedada no local. No entanto, existem algumas diferenças entre uma instância padrão do MySQL e uma do Cloud SQL.
Recursos do MySQL incompatíveis com o Cloud SQL
O recurso a seguir não é compatível com o Cloud SQL para MySQL 5.6 e 5.7:
Os seguintes recursos não são compatíveis com o Cloud SQL para MySQL 8.0:
O recurso a seguir é incompatível com o Cloud SQL para MySQL 8.4:
- GTIDs com tags. Para mais informações sobre GTIDs com tags, consulte "Replicação do MySQL: GTIDs com tags" na seção Recursos adicionados ou alterados no MySQL 8.4 das notas da versão do MySQL 8.4.
Além disso, o Cloud SQL para MySQL não concede os seguintes privilégios introduzidos no MySQL 8.4:
Plug-ins do MySQL incompatíveis com o Cloud SQL
- Plug-in InnoDB memcached
- Plug-in X
- Plug-in clone
- Criptografia de dados em repouso do InnoDB
- Componente validate_password
Instruções do MySQL incompatíveis com o Cloud SQL
As seguintes instruções SQL geram um erro com a mensagem Error 1290:
The MySQL server is running with the Google option so it cannot execute this
statement
:
LOAD DATA INFILE
SELECT ... INTO OUTFILE
SELECT ... INTO DUMPFILE
INSTALL PLUGIN ...
UNINSTALL PLUGIN
CREATE FUNCTION ... SONAME ...
As instruções a seguir não são compatíveis porque as instâncias do MySQL usam replicação GTID:
- instruções
CREATE TABLE ... SELECT
- Transações ou instruções que atualizam tabelas transacionais e não transacionais
A instrução MySQL a seguir não é compatível com o Cloud SQL para MySQL 5.6 e 5.7, mas é compatível com o Cloud SQL para MySQL 8.0:
- Instruções
CREATE TEMPORARY TABLE
dentro de transações
Para mais informações, consulte a documentação do MySQL.
Funções do MySQL incompatíveis com o Cloud SQL
LOAD_FILE()
Recursos do programa de cliente do MySQL incompatíveis com o 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 não é concedido aos usuários da instância. Todas as outras opçõesmysqldump
são compatíveis. Para informações sobre como usar as opçõesmysqldump
que otimizam o arquivo para importar para o Cloud SQL, consulte Exportar do servidor MySQL local usando mysqldump.mysqlimport
sem usar a opção--local
. Isso ocorre devido à restriçãoLOAD DATA INFILE
. Para importar dados para a instância do Cloud SQL, consulte Como importar usando um arquivo dump ou Como importar usando um arquivo CSV.Para importar bancos de dados com dados binários para a instância do Cloud SQL, use a opção
--hex-blob
commysqldump
.hex-blob
não é uma flag obrigatória quando você usa uma instância local do servidor MySQL e o clientemysql
, mas ela será necessária se você quiser importar um banco de dados com dados binários para o Cloud SQL. Para importar dados para a instância do Cloud SQL, consulte Como importar usando um arquivo dump ou Como importar usando um arquivo CSV.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 flag do Cloud SQL configurável, use o grupo de discussão do Cloud SQL.
O InnoDB é o único mecanismo de armazenamento compatível. Se precisar com conversão de tabelas do MyISAM para o InnoDB, consulte Como converter tabelas para o InnoDB na documentação do MySQL.
Opções predefinidas do MySQL para 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. Consulte skip-name-resolve
na documentação do MySQL.
log_bin
Esta sinalização informa se o registro binário está ativo. Se a opção --log-bin
for
usada, o valor dessa variável será ON
. Caso contrário, será OFF
. Consulte log_bin
na documentação do MySQL.
Autenticação do MySQL
Nesta seção, descrevemos as alterações feitas na autenticação integrada do MySQL.
Plug-in de autenticação padrão do MySQL 8.0
O Cloud SQL para MySQL 8.0 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
talvez precisem usar
a flag get-server-public-key
ao se conectar. Para mais detalhes, consulte
Armazenamento em cache da autenticação plugável SHA-2
na documentação do MySQL.
Plug-in de autenticação padrão do MySQL 8.4
Desde o Cloud SQL para MySQL 8.4, o plug-in caching_sha2_password
é o plug-in de autenticação padrão.
Todos os usuários internos e novas contas de usuário que você cria usam o plug-in caching_sha2_password
para autenticação. O Cloud SQL para MySQL 8.4 ainda aceita contas de usuário do Cloud SQL já existentes que usam o plug-in mysql_native_password
. Essas contas atuais já existentes poderão continuar se conectando a instâncias do Cloud SQL para MySQL depois que as instâncias fizerem upgrade para o MySQL 8.4.
No Cloud SQL para MySQL 8.4, o plug-in de autenticação mysql_native_password
foi descontinuado.
Qualquer tentativa de criar uma nova conta de usuário com o plug-in de autenticação mysql_native_password
descontinuado resulta em um erro.
Não é possível definir o authentication_policy
de uma conta no Cloud SQL para MySQL 8.4 para usar mysql_native_password
.
Para mudar as contas de usuário do banco de dados já existentes para que usem o plug-in de autenticação
caching_sha2_password
, use o seguinte comando:
ALTER USER 'username'@'%' IDENTIFIED WITH caching_sha2_password BY 'user_password';
Substitua username e user_password pelos valores da conta de usuário que você atualizará.
Para mais informações sobre as implicações dessa mudança na compatibilidade entre servidores, clientes e conectores, consulte caching_sha2_password as the Preferred Authentication Plugin
.
Alterações nas sinalizações do sistema MySQL no Cloud SQL
Para algumas flags do sistema do MySQL, o Cloud SQL usa valores diferentes dos padrão. Não é possível alterar os valores dessas sinalizações. Para ver uma lista de flags, consulte Flags do sistema alteradas no Cloud SQL.
Recursos do Cloud SQL incompatíveis com o Cloud SQL para MySQL 8.0 e versões mais recentes
O Cloud SQL para MySQL 8.0 e versões mais recentes não são compatíveis com a configuração legada de alta disponibilidade (HA) do Cloud SQL para MySQL que usa réplicas de failover. O Cloud SQL para MySQL 8.0 e versões mais recentes só aceita a configuração de alta disponibilidade regional.
Recursos do PostgreSQL por edições do Cloud SQL
Para mais informações sobre os recursos de cada edição do Cloud SQL para PostgreSQL, consulte Introdução às edições do Cloud SQL.
Compatibilidade com recursos do PostgreSQL para o Cloud SQL
- Bancos de dados PostgreSQL totalmente gerenciados na nuvem.
- Instâncias disponíveis nas Américas, na UE, na Ásia e na Austrália. Consulte todos os locais em que é possível criar instâncias do Cloud SQL.
- É compatível com a migração de bancos de dados de origem para os bancos de dados de destino do Cloud SQL usando o Database Migration Service (DMS).
- Os dados de clientes 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.
- Compatibilidade do 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 o monitoramento e a geração de registros do Google Cloud Observability.
- Suporte para várias versões do PostgreSQL.
- Replicação lógica
* As regiões do México, de Montreal e de Osaka têm três zonas em um ou dois data centers físicos. Essas regiões estão em processo de expansão para pelo menos três data centers físicos. Para mais informações, consulte Locais do Cloud e SLAs do Google Cloud Platform. Para melhorar a confiabilidade das cargas de trabalho, considere uma implantação multirregional.
Extensões PostgreSQL compatíveis com Cloud SQL
O Cloud SQL é compatível com muitas extensões do PostgreSQL. Para ver uma lista completa dessas extensões, consulte Configurar extensões do PostgreSQL.
Linguagens processuais compatíveis com PostgreSQL para o Cloud SQL
O Cloud SQL é compatível com a
linguagem processual PL/pgSQL
do SQL.
Linguagens compatíveis com o Cloud SQL para PostgreSQL
É possível usar o Cloud SQL com aplicativos do App Engine em execução no ambiente flexível que são escritos em:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- 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 para PostgreSQL
É possível se conectar a uma instância do Cloud SQL destas maneiras:
- 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.
- Funções do Cloud Run Saiba mais.
- Cloud Run. Saiba mais.
Não é possível se conectar ao Cloud SQL usando o Acesso privado do Google.
Diferenças entre o PostgreSQL padrão e o Cloud SQL para PostgreSQL
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 compatíveis com o Cloud SQL para PostgreSQL
Qualquer recurso que exige privilégios de
SUPERUSER
, com as seguintes exceções:Só é possível usar a instrução
CREATE EXTENSION
para extensões compatíveis.Se você tiver o papel
cloudsqlsuperuser
, será possível executar instruçõesCREATE CAST
eDROP CAST
. Para mais informações, consulte Restrições e privilégios do superusuário.
O método de transmissão
WITHOUT FUNCTION
.Workers 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
.Compilação Just-in-Time (JIT) de máquina virtual de baixo nível (LLVM, na sigla em inglês).
Diferenças importantes entre o PostgreSQL e o Cloud SQL para PostgreSQL
Alguns parâmetros e opções do PostgreSQL não estão ativados para edição como flags do Cloud SQL.
Para solicitar a adição de uma sinalização do Cloud SQL configurável, use o método Fórum do Cloud SQL para PostgreSQL.
Compatibilidade de recursos do SQL Server com o Cloud SQL
- 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 Europa, na Ásia ou na Austrália. Consulte todos os locais em que é possível criar instâncias do Cloud SQL.
- 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, além de recuperação pontual.
- 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 um 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.
- Mascaramento de dados dinâmicos (DDM).
- Servidores vinculados
- Auditoria do SQL Server.
- Editor do SQL Server.
- Assinante do SQL Server.
- SQL Server Integration Services (SSI) que é executado em um host separado e se conecta ao Cloud SQL.
- SQL Server Reporting Services (SSRS) que é executado em um host separado e se conecta ao Cloud SQL.
- O utilitário de cópia em massa do programa (bcp). Para saber mais sobre o download e a instalação do utilitário bcp, consulte a documentação da Microsoft.
- importação e exportação de arquivos BACPAC usando SqlPackage. Para saber mais sobre o download e a instalação do SqlPackage, consulte a documentação da Microsoft.
- Inserir em massa para importar dados. Esse recurso é compatível apenas com o SQL Server 2022. Você pode usar um procedimento armazenado para realizar a inserção em massa. Para mais informações, consulte Usar inserção em massa para importar dados.
- Sempre criptografado sem enclaves seguros.
- Eventos estendidos (XEvents).
- Suporte a fusos horários personalizados na criação e após a criação da instância.
* As regiões do México, de Montreal e de Osaka têm três zonas em um ou dois data centers físicos. Essas regiões estão em processo de expansão para pelo menos três data centers físicos. Para mais informações, consulte Locais do Cloud e SLAs do Google Cloud Platform. Para melhorar a confiabilidade das cargas de trabalho, considere uma implantação multirregional.
Recursos do SQL Server indisponíveis para o Cloud SQL:
Os seguintes recursos não estão disponíveis no Cloud SQL e o Google Cloud não é compatível com eles:
Recursos gerais do SQL Server não disponíveis para o Cloud SQL:
- Serviços de análise do SQL Server (SSAS)
- Configurações de SP_Configure. Para mais informações sobre esse recurso, consulte Configurar flags 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
- O recurso OPENROWSET
- 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
- Serviços de machine learning e R
- Gerenciamento de recursos
- 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 - 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
- Segurança no nível da linha
- Criptografia transparente de dados (TDE). Para informações sobre criptografia no Google Cloud, consulte Sobre chaves de criptografia gerenciadas pelo cliente (CMEK) e Criptografia padrão em repouso.
- Backup e restauração do armazenamento de objetos
- Banco de dados na memória: memória permanente
- Análise operacional em tempo real
- Aceleração e descarga integradas
- Pool de buffer híbrido com gravação direta
- Replicação de várias gravações
- Link para a instância gerenciada do SQL do Azure
- Grupo de disponibilidade contido
- Sempre criptografado com enclaves seguros
- Autenticação do Azure Active Directory
- Suporte para certificados PFX e outras melhorias criptográficas
- Protocolo MS-TDS 8.0 e TLS 1.3
Outras operações do SQL Server indisponíveis para o Cloud SQL
- ADMINISTER BULK OPERATIONS
- ALTER ANY CREDENTIAL
- ALTER ANY EVENT NOTIFICATION
- ALTER ANY EVENT SESSION
- ALTER RESOURCES
- ALTER SETTINGS
- AUTHENTICATE SERVER
- CONTROL_SERVER
- CREATE DDL EVENT NOTIFICATION
- CREATE ENDPOINT
- CREATE TRACE EVENT NOTIFICATION
- EXTERNAL ACCESS ASSEMBLY
- RESTAURAR
- SHUTDOWN
- CLR ASSEMBLIES
Sintaxe compatível do Cloud SQL para SQL Server
O Cloud SQL é compatível com a sintaxe Transact-SQL.
Linguagens compatíveis do Cloud SQL para SQL Server
É possível usar o Cloud SQL com aplicativos do App Engine em execução no ambiente flexível que são escritos em:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
Como conectar-se a instâncias do Cloud SQL para SQL Server
É possível se conectar a uma instância do Cloud SQL destas maneiras:
- SQL Server Management Studio (SSMS).
- um cliente. Saiba mais.
- O utilitário sqlcmd.
Não é possível se conectar ao Cloud SQL usando o Acesso privado do Google.