Recursos do Cloud SQL para MySQL

Nesta página, você verá os principais recursos e capacidades do Cloud SQL para MySQL. O Cloud SQL também está disponível para PostgreSQL e SQL Server.

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:

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:

  • O privilégio SUPER

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:

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

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

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.