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.

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 Como usar a autenticação plugável por 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.