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:
- 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 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.