Replicazione e Cluster
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled. – MySQL 1418
La creazione di una Stored Function con il log binario (`log_bin`) abilitato richiede obbligatoriamente la dichiarazione di determinismo (`DETERMINISTIC`) o l'abilitazione del parametro `log_bin_trust_function_creators=1`.
Cosa significa questo errore?
La creazione di una Stored Function con il log binario (`log_bin`) abilitato richiede obbligatoriamente la dichiarazione di determinismo (`DETERMINISTIC`) o l'abilitazione del parametro `log_bin_trust_function_creators=1`.
Messaggio originale
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled.Contesto e parole chiave
Alias
- 1418
- ER_BINLOG_UNSAFE_ROUTINE
Messaggi alternativi
- funzione priva di attributo DETERMINISTIC logging binario attivo
Prodotti
- MySQL Server / Percona Server / MariaDB / InnoDB Engine
Piattaforme
- Linux
- macOS
- Multipiattaforma
- Windows Server
Parole chiave
- 1418
- database
- errore-mysql-1418-binary-logging-unsafe-routine
- innodb
- mysql
- mysql.sql.1418-binlog-unsafe-routine
- Replicazione e Cluster
Cause possibili
Origine del problema per MySQL: Errore 1418 — funzione non marcata come DETERMINISTIC con binlog attivo
La creazione di una Stored Function con il log binario (`log_bin`) abilitato richiede obbligatoriamente la dichiarazione di determinismo (`DETERMINISTIC`) o l'abilitazione del parametro `log_bin_trust_function_creators=1`.
molto comuneDiagnosi
Ispezione diagnostica MySQL per MySQL: Errore 1418 — funzione non marcata come DETERMINISTIC con binlog attivo
Eseguire comandi di controllo di stato nel client MySQL o consultare il file di log degli errori /var/log/mysql/error.log.
Come leggere il risultato. Mostra lo stato interno di lock, transazioni in corso o errori di allocazione e vincoli relazionali.
SHOW ENGINE INNODB STATUS\GRisoluzione
Procedura di risoluzione per MySQL: Errore 1418 — funzione non marcata come DETERMINISTIC con binlog attivo
Applicare la correzione al database o alla query secondo le best practice di amministrazione MySQL.
- Ispezionare la sintassi della query o la configurazione delle variabili
- Regolare i parametri in my.cnf o correggere i vincoli DDL
- Testare nuovamente la connessione o l'esecuzione della transazione
Domande frequenti
Come risolvere il codice 1418 in MySQL?
La creazione di una Stored Function con il log binario (`log_bin`) abilitato richiede obbligatoriamente la dichiarazione di determinismo (`DETERMINISTIC`) o l'abilitazione del parametro `log_bin_trust_function_creators=1`.
Approfondimenti
- MySQL Server Error Reference - Oracle Documentation documentazione_ufficiale