При попытке создать триггер в RDS я получаю сообщение об ошибке двоичного журнала

При попытке создать триггер в RDS я получаю следующую ошибку:

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is
enabled (you *might* want to use the less safe log_bin_trust_function_creators
variable)

Есть ли способ получить привилегии SUPER или отключить бинарное ведение журнала?

1 ответ

Решение

Я не знаю, есть ли способ получить привилегии SUPER, но есть способ отключить бинарное ведение журнала (тем самым устраняя необходимость иметь привилегии SUPER для создания триггеров). Это делается путем установки переменной log_bin_trust_create_function_creators равной 1.

  1. Создайте новую группу параметров RDS. Кроме того, вы можете изменить текущую группу параметров (если она не является группой параметров по умолчанию) и пропустить шаги 3-5.
  2. Изменить значение log_bin_trust_create_function_creators до 1 для этой группы параметров
  3. Также измените все параметры, значения которых не являются значениями по умолчанию, в группе параметров, используемой вашим экземпляром RDS. Это необходимо, поскольку экземпляр RDS может быть связан только с одной группой параметров
  4. Измените свой экземпляр RDS, чтобы он использовал вашу новую группу параметров
  5. Подождите, пока изменение группы параметров не отобразится в журнале событий
  6. Перезапустите экземпляр RDS. log_bin_trust_create_function_creators помечен как динамический vairable, и поэтому не требует перезагрузки, но мне всегда нужно было перезапускать экземпляр RDS, чтобы изменения вступили в силу. Возможно, есть другой способ, но я его не нашел.
Другие вопросы по тегам