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 os principais recursos e capacidades do Cloud SQL para PostgreSQL. O Cloud SQL também está disponível para MySQL 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 fornecem até 416 GB de RAM e 30 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 na Ásia, na Austrália, nos EUA e na UE.
  • 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 Cloud SQL Proxy 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

Você pode usar o Cloud SQL para MySQL com aplicativos do App Engine escritos em Java, Python, PHP, Node.js, Go e Ruby. Também pode ser usado com aplicativos externos com o protocolo padrão MySQL.

Como conectar-se a instâncias do Cloud SQL para MySQL

É possível conectar-se 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 instância hospedada no local. No entanto, existem algumas diferenças entre uma instância padrão do MySQL e uma do Cloud SQL para MySQL.

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 permite a geração de registros binários. Por padrão, ela está desativada no MySQL do Cloud SQL, inclusive no MySQL 8.0. Saiba mais. Para modificar este padrão, ative a geração de registros binários em uma instância (links em inglês).

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.

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.