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
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 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
Você pode se conectar a uma instância do Cloud SQL para o MySQL em:
- um cliente
mysql
. Saiba mais - ferramentas de terceiros, como o SQL Workbench ou Toad para MySQL; Saiba mais
- aplicativos externos. Saiba mais.
- aplicativos do App Engine; Saiba mais.
- aplicativos em execução no Compute Engine; Saiba mais.
- aplicativos em execução no Google Kubernetes Engine; Saiba mais.
- Cloud Functions; Saiba mais.
- Cloud Run. Saiba mais.
- Scripts do Google Apps Scripts. Saiba mais.
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
- Plug-in InnoDB memcached
- Plug-in X
- Plug-in clone
- Criptografia de dados em repouso do InnoDB
- Componente validate_password
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 LOCAL
INFILE
é 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çãoLOAD 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çõesmysqldump
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
commysqldump
.hex-blob
não é uma sinalização obrigatória ao usar 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 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 informa se o registro binário está ativo. Se --log-bin option
for
usado, o valor dessa variável será ON
. Caso contrário, será OFF
.
Saiba mais
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.