Como faço para ativar funções, procedimentos e gatilhos para minha instância de banco de dados Amazon RDS for MySQL?

3 minuto de leitura
0

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:

  1. Crie um grupo de parâmetros de banco de dados.
  2. Modifique o grupo de parâmetros de banco de dados personalizado e defina o parâmetro: log_bin_trust_function_creators=1
  3. 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.
  4. No painel de navegação, selecione Bancos de dados.
  5. Selecione a instância de banco de dados que você deseja associar ao grupo de parâmetros do banco de dados.
  6. Selecione Modificar.
  7. Selecione o grupo de parâmetros que você deseja associar à instância de banco de dados.
  8. 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