Відповіді:
Ця змінна управляє тим, чи слід двійковому журналу довіряти створювачам збережених функцій, щоб не створювати збережені функції, які спричинять небезпечні події. Напр. що мають функції UUID.
Це добре пояснено в документації:
Створюючи збережену функцію, ви повинні заявити, що вона детермінована, або що вона не змінює дані. В іншому випадку це може бути небезпечно для відновлення чи реплікації даних.
За замовчуванням для прийняття оператора CREATE FUNCTION принаймні один із DETERMINISTIC, NO SQL або READS SQL DATA повинен бути чітко вказаний. В іншому випадку виникає помилка:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
Щоб послабити попередні умови створення функції (що ви повинні мати привілей SUPER і що функцію потрібно оголосити детермінованою або не змінювати дані), встановіть глобальну систему змінної log_bin_trust_function_creators на 1.
Довідка: mysql-документація (читайте це так, як це пояснено з прикладом.)
Щодо вашого другого питання, якщо він динамічний і чи зміниться він при перезапуску сервера:
Так, це динамічна змінна.
Змінна зміниться при перезапуску, якщо ви не оновите конфігурацію для відображення змін.
Довідка: mysql-документація-знову
mysql> select if(1 is true,'TRUE','FALSE')\G *************************** 1. row *************************** if(1 is true,'TRUE','FALSE'): TRUE