При попытке создать триггер в 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.
- Создать новую группу параметров RDS. В качестве альтернативы вы можете изменить текущую группу параметров (если это не группа параметров по умолчанию) и пропустить шаги 3–5.
- Измените значение
log_bin_trust_create_function_creators
на 1 для этой группы параметров. - Также измените любые параметры, имеющие значения, отличные от значений по умолчанию, в группе параметров, которую в данный момент использует ваш экземпляр RDS. Это необходимо, поскольку экземпляр RDS может быть связан только с одной группой параметров
- Измените свой экземпляр RDS так, чтобы он использовал новую группу параметров.
- Дождитесь, пока изменение группы параметров отобразится в журнале событий.
- Перезапустить экземпляр RDS.
log_bin_trust_create_function_creators
помечен как динамический, и поэтому не должен требовать перезапуска, но мне всегда нужно было перезапускать экземпляр RDS, чтобы изменения вступили в силу. Возможно, есть другой способ, но я его не нашел.