Limitações na Base de Dados do Azure para MySQL – Servidor Flexível
Este artigo descreve as limitações no Banco de Dados do Azure para MySQL - Servidor Flexível. Limitações gerais no mecanismo de banco de dados MySQL também se aplicam. Se você quiser saber mais sobre limitações de recursos (computação, memória, armazenamento), consulte o artigo sobre computação e armazenamento.
Parâmetros do servidor
O Banco de Dados do Azure para MySQL - Servidor Flexível dá suporte ao ajuste dos valores dos parâmetros do servidor. Os valores mínimos e máximos de alguns parâmetros (por exemplo, max_connections
, , join_buffer_size
query_cache_size
) são determinados pela camada de computação e antes de calcular o tamanho do servidor. Para obter mais informações sobre esses limites, juntamente com valores mínimos e máximos para parâmetros de servidor como max_connections
e innodb_buffer_pool_size
, consulte o artigo sobre parâmetros de servidor.
Chaves primárias invisíveis geradas
Para o MySQL versão 8.0 e posterior, as chaves primárias invisíveis geradas (GIPKs) são habilitadas por padrão para todas as instâncias do Banco de Dados do Azure para MySQL - Servidor Flexível.
Os servidores MySQL 8.0+ adicionam a coluna my_row_id
invisível às tabelas e uma chave primária nessa coluna, onde a tabela InnoDB é criada sem uma chave primária explícita. Por esse motivo, não é possível criar uma tabela que tenha uma coluna nomeada my_row_id
, a menos que a instrução de criação de tabela também especifique uma chave primária explícita. Mais informações.
Por padrão, os GIPKs aparecem na saída de SHOW CREATE TABLE, SHOW COLUMNS e SHOW INDEX. Os GIPKs também são visíveis nas INFORMATION_SCHEMA
tabelas COLUMNS e STATISTICS .
Para obter mais detalhes sobre GIPKs e seus casos de uso com replicação de dados, consulte Replicar dados no Banco de Dados do Azure para MySQL - Servidor Flexível.
Passos para desativar um GIPK
Se você quiser desativar um GIPK, você tem duas opções:
Altere o valor do parâmetro de servidor sql_generate_invisible_primary_key para
OFF
usando o portal do Azure ou a CLI do Azure.Conecte-se ao seu Banco de Dados do Azure para MySQL - instância do Servidor Flexível e execute o seguinte comando:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
No Banco de Dados do Azure para MySQL - Servidor Flexível, o valor padrão para lower_case_table_names
é 1
para o MySQL versão 5.7. Se você precisar ajustar essa configuração, recomendamos que crie um tíquete de suporte. É importante entender que, depois de alterar o valor do parâmetro para 2
, revertê-lo para 1
não é permitido.
Para o MySQL versão 8.0, é proibido alterar a lower_case_table_names
configuração depois que o servidor é inicializado. Mais informações. No Banco de Dados do Azure para MySQL - Servidor Flexível, o valor padrão para lower_case_table_names
é 1
para MySQL versão 8.0. Se você quiser alterar este parâmetro para 2
, sugerimos que você crie um servidor MySQL 5.7 e crie um ticket de suporte para assistência com a alteração. Mais tarde, se necessário, você pode atualizar o servidor para a versão 8.0.
Motores de armazenamento
O MySQL suporta muitos mecanismos de armazenamento. As listas a seguir mostram quais mecanismos de armazenamento são suportados e não suportados no Banco de Dados do Azure para MySQL - Servidor Flexível.
Motores suportados
Motores não suportados
Suporte a privilégios e manipulação de dados
Muitos parâmetros e configurações do servidor podem inadvertidamente degradar o desempenho do servidor ou negar as propriedades ACID (atômicas, consistentes, isoladas e duráveis) do servidor MySQL. Para manter a integridade do serviço e o contrato de nível de serviço em um nível de produto, o Banco de Dados do Azure para MySQL - Servidor Flexível não expõe várias funções.
O Banco de Dados do Azure para MySQL - Servidor Flexível não permite acesso direto ao sistema de arquivos subjacente. Alguns comandos de manipulação de dados não são suportados.
Privilégios suportados
LOAD DATA INFILE
tem suporte, mas você deve especificar o[LOCAL]
parâmetro e direcioná-lo para um caminho UNC (armazenamento do Azure montado por meio do Server Message Block). Se você estiver usando o cliente MySQL versão 8.0 ou posterior, você precisa incluir o-–local-infile=1
parâmetro em sua cadeia de conexão.Para o MySQL versão 8.0 e posterior, apenas os seguintes privilégios dinâmicos são suportados:
Privilégios sem suporte
A função de administrador de banco de dados (DBA) é restrita. Como alternativa, você pode usar a função do usuário administrador atribuído durante a criação de um novo servidor. Essa função permite que você execute a maioria das instruções DDL (Data Definition Language) e DML (Data Manipulation Language).
Os seguintes privilégios estáticos são restritos:
Não há suporte para a concessão de privilégios de BACKUP_ADMIN para fazer backups usando ferramentas de migração.
DEFINER
requerSUPER
privilégios para criar e é restrito. Se você estiver importando dados usando um backup, remova manualmente osCREATE DEFINER
comandos ou use o--skip-definer
comando quando estiver executando um backup mysqlpump .O banco de dados do sistema mysql é somente leitura e suporta várias funcionalidades de plataforma como serviço (PaaS). Não é possível fazer alterações no banco de dados do
mysql
sistema.SELECT ... INTO OUTFILE
não é suportado no serviço.
Limitações funcionais
Elevada disponibilidade com redundância entre zonas
Você pode definir uma configuração de alta disponibilidade com redundância de zona somente durante a criação do servidor. Esta configuração não é suportada na camada de computação Burstable.
Rede
Não é possível alterar o método de conectividade depois de criar o servidor. Se você criar o servidor com acesso privado (integração de rede virtual), ele não poderá ser alterado para acesso público (endereços IP permitidos) após a criação e vice-versa.
Parar/iniciar operações
As operações para parar e iniciar o servidor não são suportadas com configurações de réplica de leitura (tanto de origem quanto de réplicas).
Operações de escala
Não há suporte para a redução do armazenamento do servidor provisionado.
Atualizações de versão do servidor
Não há suporte para migração automatizada entre as principais versões do mecanismo de banco de dados. Se você quiser atualizar a versão principal, use um dump e restaure em um servidor que você criou com a nova versão do mecanismo.
Restaurar um servidor
Com a restauração point-in-time, os novos servidores têm as mesmas configurações de computação e armazenamento que o servidor de origem no qual se baseiam. Você pode reduzir a computação do servidor recém-restaurado depois de criar o servidor.
Comparações de recursos
Nem todos os recursos disponíveis no Banco de Dados do Azure para MySQL - Servidor Único estão disponíveis no Banco de Dados do Azure para MySQL - Servidor Flexível.
Para obter a lista completa de comparações de recursos entre o Banco de Dados do Azure para MySQL - Servidor Único e o Banco de Dados do Azure para MySQL - Servidor Flexível, consulte o artigo sobre como escolher a opção correta do Servidor MySQL no Azure.