Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
Banco de Dados do Azure para MySQL - Servidor Flexível
O Banco de Dados do Azure para MySQL fornece vários procedimentos armazenados internos que simplificam e automatizam tarefas avançadas de gerenciamento de banco de dados. Esses procedimentos armazenados ajudam a configurar com eficiência funcionalidades, como a replicação de dados, limpeza do registo de desfazer e gestão de plug-ins.
Este artigo apresenta os procedimentos armazenados internos disponíveis no Banco de Dados do Azure para MySQL, suas funcionalidades e como usá-los.
Procedimentos armazenados internos disponíveis atualmente
1. Gestão de replicação de dados recebidos
O Banco de Dados do Azure para MySQL fornece procedimentos armazenados para gerenciar a Replicação de Dados, incluindo iniciar, parar, verificar o status e redefinir a replicação.
Para obter detalhes sobre esses procedimentos, consulte Como configurar o Azure Database para MySQL - Replicação de dados em Servidor Flexível.
2. Gestão de plugins
O Banco de Dados do Azure para MySQL dá suporte ao Plug-in Validar Senha, que impõe políticas de força de senha. Os usuários podem ativar ou desativar este plug-in usando os seguintes procedimentos armazenados:
Habilite o plug-in de validação de senha
CALL az_install_validate_password_plugin();
Depois de habilitar o plug-in, você pode exibir e configurar parâmetros relacionados na página Parâmetros do Servidor no portal do Azure.
Desative o plug-in de validação de senha
CALL az_uninstall_validate_password_plugin();
Este procedimento armazenado remove o plugin.
Observação
- Para servidores HA (Alta Disponibilidade), primeiro execute esses procedimentos armazenados no servidor primário . Em seguida, realize um failover forçado e volte a executar os procedimentos armazenados no novo primário.
- Para servidores de réplica, a execução desses procedimentos armazenados no primário não sincroniza automaticamente com réplicas. Execute-os manualmente em cada réplica depois de executá-los na principal.
3. Limpeza do undo log
Em alguns casos, o seu log de undo pode crescer e você pode querer limpá-lo. O Banco de Dados do Azure para MySQL fornece um procedimento armazenado para ajudá-lo com essa tarefa.
- Para verificar o espaço da tabela, primeiro execute o seguinte comando.
SELECT NAME, FILE_SIZE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' AND STATE = 'active' ORDER BY NAME; - Se você achar que seu log de desfazer é grande, chame o seguinte comando para criar um novo espaço de tabela.
Atualmente, suportamos até oito espaços de tabela, incluindo dois espaços padrão. O valor X deve estar entre 3 e 8. Após a conclusão do comando, o novo espaço de tabela deve estar em um estado ativo.call az_create_undo_tablespace(X) - Execute o seguinte comando para desativar o innodb_undo_001 (padrão).
Em seguida, aguarde até que o estado de innodb_undo_001 esteja vazio (isso significa que o log de reversão está truncado).call az_deactivate_undo_tablespace(1)
Você pode verificar o truncamento de log de desfazer consultando Espaços de Tabela de Desfazer - Execute o seguinte comando para ativar o innodb_undo_001 (padrão).
Em seguida, aguarde até que o estado de innodb_undo_001 esteja ativo.call az_activate_undo_tablespace(1) - Repita os passos 1-4 para o innodb_undo_002.
- Execute
call az_deactivate_undo_tablespace(3);para desativar o espaço de tabela recém-criado. Aguarde que o estado esteja vazio. Em seguida, executeCall az_drop_undo_tablespace(3);para soltar o espaço de tabela recém-criado. Não é possível descartar os padrão (innodb_undo_001, innodb_undo_002). Você só pode soltar o que você criou, neste exemplo é x_undo_003.Antes de soltar, primeiro desative x_undo_003 para o estado vazio.
Verificação e conferência de espaços de tabela de desfazer
Antes de esvaziar um espaço de tabela de reversão, verifique se não há transações ativas.
SELECT COUNT(1) FROM information_schema.innodb_trx;
- Se o resultado for 0, não há transações ativas.
- O espaço de tabela de desfazer só pode ser esvaziado quando essa contagem for zero.
Depois de confirmar que as transações atingiram zero, verifique o estado das tabelas de desfazer.
SELECT NAME, FILE_SIZE, STATE
FROM information_schema.innodb_tablespaces
WHERE SPACE_TYPE = 'Undo'
ORDER BY NAME;
Soltar tabela problemática
Se você encontrar um erro como o seguinte ao acessar uma tabela, isso pode indicar corrupção da tabela:
Incorrect information in file: './DATABASE_NAME/TABLE_NAME.frm'
Para resolver esse problema, você pode usar o procedimento armazenado interno:
mysql.az_drop_broken_table(DBNAME, TABLENAME)
Depois de executar o procedimento, recomenda-se reiniciar o servidor para garantir que as alterações entrem em vigor.
Como alternativa, você pode executar uma restauração point-in-time para reverter o servidor para um estado anterior ao problema.
Conclusão
O Banco de Dados do Azure para MySQL fornece procedimentos armazenados internos que simplificam tarefas avançadas de gerenciamento de banco de dados. Esses procedimentos permitem que você configure a replicação, gerencie o log de Desfazer e habilite plug-ins de forma eficiente. Ao aplicar essas ferramentas, você pode melhorar o desempenho, otimizar o armazenamento e garantir uma sincronização de dados perfeita.