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