Risposte:
Questa variabile controlla se la registrazione binaria deve fidarsi dei creatori di funzioni memorizzate per non creare funzioni memorizzate che causeranno eventi non sicuri. Per esempio. con funzioni UUID.
Questo è stato spiegato bene nella documentazione:
Quando si crea una funzione memorizzata, è necessario dichiarare che è deterministica o che non modifica i dati. Altrimenti, potrebbe non essere sicuro per il recupero o la replica dei dati.
Per impostazione predefinita, per accettare un'istruzione CREATE FUNCTION, è necessario specificare esplicitamente almeno uno dei DETERMINISTIC, NO SQL o READS SQL DATA. Altrimenti si verifica un errore:
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)
Per allentare le condizioni precedenti sulla creazione della funzione (che è necessario disporre del privilegio SUPER e che una funzione deve essere dichiarata deterministica o non modificare i dati), impostare la variabile di sistema globale log_bin_trust_function_creators su 1.
Riferimento: documentazione mysql (leggi questo come spiega con l'esempio.)
Informazioni sulla seconda domanda, se è dinamica e cambierà se riavvii il server:
Sì, è una variabile dinamica.
La variabile cambierà al riavvio, se non si aggiorna la configurazione per riflettere la modifica.
Riferimento: mysql-documentazione-di nuovo
mysql> select if(1 is true,'TRUE','FALSE')\G *************************** 1. row *************************** if(1 is true,'TRUE','FALSE'): TRUE