Recursos do MySQL por edições do Cloud SQL
Para mais informações sobre os recursos de cada edição do Cloud SQL para MySQL, consulte Introdução às edições do Cloud SQL.
Compatibilidade de recursos do MySQL 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 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 pode ser usado o Cloud SQL com aplicativos externos com o protocolo padrão MySQL.
Como se conectar a instâncias do Cloud SQL para MySQL
É possível se conectar a uma instância do Cloud SQL destas maneiras:
- Com um cliente
mysql
- Usando ferramentas de terceiros, como SQL Workbench ou Toad para MySQL
- Com aplicativos externos
- Com aplicativos do App Engine
- Com aplicativos em execução no Compute Engine
- Com aplicativos em execução no Google Kubernetes Engine
- Pelo Cloud Functions
- Pelo 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
, 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 a funcionalidade padrão do MySQL 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 sem compatibilidade 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 (em inglês)
Os seguintes recursos não são compatíveis com o Cloud SQL para MySQL 8.0:
Plug-ins MySQL sem compatibilidade 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 MySQL sem compatibilidade 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, veja a documentação do MySQL.
Funções MySQL sem compatibilidade com o Cloud SQL
LOAD_FILE()
Recursos do programa de cliente do MySQL sem compatibilidade 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
(em inglês) 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 8.0 para Cloud SQL
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 SHA-2 Pluggable na documentação do MySQL.
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 uma lista de sinalizações, consulte Sinalizações do sistema MySQL alteradas no Cloud SQL.
Recursos do Cloud SQL incompatíveis com o Cloud SQL para MySQL 8.0
O Cloud SQL para MySQL 8.0 não é compatível com a versão legada da configuração de alta disponibilidade (HA) do MySQL que usa réplicas de failover. Ele é compatível com a nova configuração de HA regional.