Quero ativar funções, procedimentos e gatilhos para minha instância de banco de dados Amazon Relational Database Service (Amazon RDS) for MySQL.
Resolução
O Amazon RDS é um serviço gerenciado e não fornece acesso ao sistema (privilégios SUPER). Se você ativar o registro binário, defina log_bin_trust_function_creators como true no grupo de parâmetros do banco de dados (DB) personalizado para sua instância de banco de dados.
Se você criar uma instância de banco de dados e não especificar um grupo de parâmetros de banco de dados, o Amazon RDS criará um novo grupo de parâmetros de banco de dados padrão. Para obter mais informações, consulte Trabalhar com grupos de parâmetros.
Para ativar funções, procedimentos e gatilhos para instâncias de banco de dados Amazon RDS para MySQL, conclua as etapas a seguir:
- Crie um grupo de parâmetros de banco de dados.
- Modifique o grupo de parâmetros de banco de dados personalizado e defina o parâmetro: log_bin_trust_function_creators=1
- Selecione Salvar alterações.
Observação: antes de usar o grupo de parâmetros de banco de dados com uma instância de banco de dados, aguarde pelo menos 5 minutos.
- No painel de navegação, selecione Bancos de dados.
- Selecione a instância de banco de dados que você deseja associar ao grupo de parâmetros do banco de dados.
- Selecione Modificar.
- Selecione o grupo de parâmetros que você deseja associar à instância de banco de dados.
- Reinicialize a instância de banco de dados.
Observação: o nome do grupo de parâmetros muda imediatamente, mas as alterações do grupo de parâmetros não são aplicadas até que você reinicialize a instância sem failover.
Se você já usa um grupo de parâmetros personalizado, conclua somente as etapas 2 a 3. O parâmetro log_bin_trust_function_creators é um parâmetro dinâmico que não requer uma reinicialização do banco de dados.
Ao ativar o backup automatizado para uma instância de banco de dados MySQL, você também ativa o registro binário. Ao criar um gatilho, pode-se receber a seguinte mensagem de erro:
“ERRO 1419 (HY000): Você não tem o privilégio SUPER e o registro binário está ativado (talvez você queira usar a variável menos segura log_bin_trust_function_creators)”
Se receber esse erro, modifique o parâmetro log_bin_trust_function_creators para 1. Isso permite funções, procedimentos e gatilhos em sua instância de banco de dados. Se ainda receber erros de acesso negado depois de definir o parâmetro como 1, consulte Como posso resolver os erros 1227 e do definidor ao importar dados para minha instância de banco de dados Amazon RDS para MySQL usando mysqldump?
Observação: quando você define log_bin_trust_function_creators=1, eventos inseguros podem ser gravados no log binário. O log binário é baseado em instruções (binlog_format=STATEMENT).
Para obter mais detalhes sobre o parâmetro log_bin_trust_function_creators, consulte log_bin_trust_function_creators e Log binário do programa armazenado no site do MySQL.
Informações relacionadas
Modificar parâmetros em um grupo de parâmetros de um cluster de banco de dados