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