Funcionalidades do MySQL por edições do Cloud SQL
Para mais informações sobre as funcionalidades da edição Cloud SQL Enterprise Plus e da edição Cloud SQL Enterprise do Cloud SQL para MySQL, consulte o artigo Introdução às edições do Cloud SQL.
Funcionalidades gerais do MySQL suportadas para o Cloud SQL
- Bases de dados do MySQL Community Edition totalmente geridas na nuvem.
- Instâncias disponíveis na América, UE, Ásia e Austrália. Consulte todas as localizações onde pode criar instâncias do Cloud SQL.
- Suporta a migração de bases de dados de origem para bases de dados de destino do Cloud SQL através do Database Migration Service (DMS).
- Dados dos clientes encriptados nas redes internas da Google e em tabelas de bases de dados, ficheiros temporários e cópias de segurança.
- Suporte para ligações externas seguras com o proxy Auth do Cloud SQL ou com o protocolo SSL/TLS.
- Suporte para IP privado (acesso a serviços privados).
- Replicação de dados entre várias zonas com ativação pós-falha automática.
- Importe e exporte bases de dados através do
mysqldump
ou importe e exporte ficheiros CSV. - Suporte para o protocolo de ligação do MySQL e conetores MySQL padrão.
- Cópias de segurança automáticas, cópias de segurança a pedido e recuperação num ponto específico no tempo.
- Clonagem de instâncias.
- Integração com a monitorização e o registo do Google Cloud Observability.
- Em conformidade com a norma ISO/IEC 27001.
Idiomas das aplicações suportados para o Cloud SQL para MySQL
Pode usar o Cloud SQL com aplicações do App Engine executadas no ambiente flexível escritas em:
- C#
- Ir
- Java
- Node.js
- PHP
- Python
- Ruby
Também pode usar o Cloud SQL com aplicações externas que usam o protocolo MySQL padrão.
Como se pode ligar a instâncias do Cloud SQL para MySQL
Pode estabelecer ligação a uma instância do Cloud SQL a partir do seguinte:
- Um cliente
mysql
- Ferramentas de terceiros, como o SQL Workbench ou o Toad for MySQL
- Aplicações externas
- Aplicações do App Engine
- Aplicações em execução no Compute Engine
- Aplicações em execução no Google Kubernetes Engine
- Funções do Cloud Run
- Cloud Run
- Scripts do Google Apps Script
A ligação ao Cloud SQL com o acesso privado Google não é suportada. O acesso aos serviços privados é suportado. Para mais informações, consulte o artigo Opções de acesso privado para serviços.
Gestão de utilizadores no Cloud SQL para MySQL 8.0
Devido a alterações no MySQL 8.0, não pode usar declarações CREATE
ou DELETE
para a gestão de utilizadores do MySQL. Também não pode modificar privilégios do utilizador com as declarações INSERT
,
UPDATE
ou DELETE
. Em alternativa, use as declarações CREATE USER
, DROP USER
, GRANT
e REVOKE
para modificar os privilégios do utilizador. Para mais informações, consulte as
notas de gestão de contas.
Nota: ignore as informações nas notas de gestão da conta sobre a execução de
mysql_upgrade
para atualizar para a versão 8.0. Em alternativa, faça a atualização através do procedimento
descrito no artigo Atualizar o MySQL numa
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 é igual à funcionalidade fornecida por uma instância do MySQL alojada localmente. No entanto, existem algumas diferenças entre uma instância padrão do MySQL e uma instância do Cloud SQL.
Funcionalidades do MySQL não suportadas para o Cloud SQL
A seguinte funcionalidade não é suportada para o Cloud SQL para MySQL 5.6 e 5.7:
As seguintes funcionalidades não são suportadas para o Cloud SQL para MySQL 8.0:
A seguinte funcionalidade não é suportada no Cloud SQL para MySQL 8.4:
- GTIDs etiquetados. Para mais informações sobre GTIDs etiquetados, consulte a secção "Replicação do MySQL: GTIDs etiquetados" no artigo Funcionalidades adicionadas ou alteradas no MySQL 8.4 das notas de lançamento 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 não suportados para o Cloud SQL
- Plug-in memcached do InnoDB
- Plug-in X
- Clonar plug-in
- Encriptação de dados em repouso do InnoDB
- validate_password component
Declarações MySQL não suportadas para o Cloud SQL
As seguintes declaraçõ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 seguintes declarações não são suportadas porque as instâncias do MySQL usam a replicação GTID:
CREATE TABLE ... SELECT
extratos- Transações ou extratos que atualizam tabelas transacionais e não transacionais
A seguinte declaração MySQL não é suportada para o Cloud SQL para MySQL 5.6 e 5.7, mas é suportada para o Cloud SQL para MySQL 8.0:
CREATE TEMPORARY TABLE
extratos nas transações
Para mais informações, consulte a documentação do MySQL.
Funções do MySQL não suportadas para o Cloud SQL
LOAD_FILE()
Funcionalidades do programa cliente MySQL não suportadas para o Cloud SQL
mysqldump
através da opção--tab
ou de opções usadas com--tab
. Isto deve-se ao facto de o privilégio FILE não ser concedido aos utilizadores de instâncias. Todas as outras opções demysqldump
são suportadas. Para obter informações sobre a utilização de opçõesmysqldump
que otimizam o seu ficheiro para importação para o Cloud SQL, consulte o artigo Exporte a partir do seu servidor MySQL local através do mysqldump.mysqlimport
sem usar a opção--local
. Isto deve-se à restriçãoLOAD DATA INFILE
. Para importar dados para a sua instância do Cloud SQL, consulte o artigo sobre a importação através de um ficheiro de despejo ou a importação através de um ficheiro CSV.Se quiser importar bases de dados com dados binários para a sua instância do Cloud SQL, tem de usar a opção
--hex-blob
commysqldump
.Embora
hex-blob
não seja uma flag obrigatória quando usa uma instância do servidor MySQL local e o clientemysql
, é obrigatória se quiser importar bases de dados com dados binários para a sua instância do Cloud SQL. Para importar dados para a sua instância do Cloud SQL, consulte o artigo sobre a importação através de um ficheiro de despejo ou a importação através de um ficheiro CSV.Nem todas as opções e parâmetros do MySQL estão ativados para edição como flags do Cloud SQL.
Para pedir a adição de uma flag do Cloud SQL configurável, use o grupo de discussão do Cloud SQL.
O InnoDB é o único motor de armazenamento suportado. Para obter ajuda com a conversão de tabelas do MyISAM para o InnoDB, consulte o artigo Converter tabela para InnoDB na documentação do MySQL.
Opções do MySQL predefinidas para o Cloud SQL
O Cloud SQL executa o MySQL com um conjunto específico de opções. Se uma opção puder afetar o funcionamento das suas aplicações, indicamos aqui essa informação.
skip-name-resolve
Esta flag afeta a forma como os nomes de anfitrião são resolvidos para as ligações de cliente. Consulte
skip-name-resolve
na documentação do MySQL.
log_bin
Esta sinalização indica se o registo binário está ativado. Se a opção --log-bin
for usada, o valor desta variável é ON
. Caso contrário, é OFF
. Consulte
log_bin
na documentação do MySQL.
Autenticação do MySQL
Esta secção descreve as alterações feitas à autenticação incorporada do MySQL.
Predefinição do plug-in de autenticação do MySQL 8.0
O Cloud SQL para MySQL 8.0 usa mysql_native_password
como o plug-in de autenticação predefinido para novos utilizadores, em vez de caching_sha2_password
. O plug-in mysql_native_password
é a predefinição para os utilizadores do MySQL 5.6 e 5.7.
Se quiser que os novos utilizadores usem o plug-in
caching_sha2_password
como a autenticação predefinida, pode configurar a flag da instância para que o
default_authentication_plugin
use o caching_sha2_password
.
Para configurar os utilizadores existentes para usarem o gesto caching_sha2_password
, use o comando ALTER USER
para alterar o plug-in de autenticação.
Os utilizadores que têm autenticação caching_sha2_password
podem ter de usar a flag get-server-public-key
quando se ligam. Para ver detalhes, consulte o artigo
Caching SHA-2 Pluggable Authentication
na documentação do MySQL.
Predefinição do plug-in de autenticação do MySQL 8.4
A partir do Cloud SQL para MySQL 8.4, o plug-in caching_sha2_password
é o plug-in de autenticação predefinido.
Todos os utilizadores internos e as novas contas de utilizador que criar usam o plug-in caching_sha2_password
para autenticação. O Cloud SQL para MySQL 8.4 continua a suportar contas de utilizador do Cloud SQL existentes que usam o plug-in mysql_native_password
. Estas contas existentes podem continuar a ligar-se
a instâncias do Cloud SQL para MySQL depois
de essas instâncias terem sido atualizadas 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 utilizador com o plug-in de autenticação mysql_native_password
obsoleto resulta num erro.
Não pode definir o
authentication_policy
de uma conta no Cloud SQL para MySQL 8.4 para usar
mysql_native_password
.
Para alterar as suas contas de utilizador da base de dados existentes para usar o plug-in de autenticação, use o seguinte comando:caching_sha2_password
ALTER USER 'username'@'%' IDENTIFIED WITH caching_sha2_password BY 'user_password';
Substitua username e user_password pelos valores da conta de utilizador que está a atualizar.
Para mais informações sobre as implicações desta alteração na compatibilidade entre servidores, clientes e conetores, consulte caching_sha2_password as the Preferred Authentication Plugin
.
Alterações às flags do sistema MySQL no Cloud SQL
Para algumas flags do sistema MySQL, o Cloud SQL usa valores diferentes dos valores predefinidos. Não pode alterar os valores destas flags. Para ver uma lista das flags, consulte o artigo Flags do sistema alteradas no Cloud SQL.
Funcionalidades do Cloud SQL não suportadas no Cloud SQL para MySQL 8.0 e versões posteriores
O Cloud SQL para MySQL 8.0 e versões posteriores não suporta a configuração de alta disponibilidade (HA) do Cloud SQL para MySQL antiga que usa réplicas de comutação por falha. O Cloud SQL para MySQL 8.0 e versões posteriores só suporta a configuração de alta disponibilidade regional.