ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled

Признаки

При импорте функции или триггера в базу данных MySQL возникает следующая ошибка: "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)".

Причины

Ошибка возникает при попытке импортировать функцию или триггер, содержащие опасные операторы, которые вносят изменения в базу данных. Ошибка возникает только в том случае, если на сервере MySQL включена опция двоичного протоколирования, необходимая для репликации.

Решения

Существует несколько решений этой проблемы:

  • Вам необходимо указать привилегии SUPER для пользователя, выполняющего импорт в базу данных, вместе с примененными привилегиями CREATE ROUTINE, ALTER ROUTINE, CREATE TRIGGER, ALTER TRIGGER, CREATE FUNCTION и ALTER FUNCTION.
  • Если вы хотите разрешить всем пользователям на вашем сервере MySQL, имеющим привилегию CREATE ROUTINE, иметь возможность создавать такие функции, вы можете указать опцию log_bin_trust_function_creators двумя способами:
    1. Указать при запуске сервера: <i>--log-bin-trust-function-creators=1</i>
    2. Установить значение 1 с помощью оператора SET GLOBAL:
      mysql> SET GLOBAL log_bin_trust_function_creators = 1;
  • Если вы не планируете использовать сервер MySQL для репликации, отключите двоичное протоколирование, удалив опцию <i>--log-bin</i> из параметров команды утилиты mysqld, запускающей сервер MySQL.

Если у вас есть какие-либо другие вопросы, пожалуйста, свяжитесь с нами: support@convertum.ru