Heim >Datenbank >MySQL-Tutorial >Warum löst MySQL bei aktivierter Binärprotokollierung den Fehler „DETERMINISTISCH, KEIN SQL oder LEST SQL-DATEN' aus?
Fehler: „DETERMINISTISCH, KEIN SQL oder LESEN SQL-DATEN“ fehlt in der Funktionsdeklaration mit aktivierter Binärprotokollierung
Beim Importieren einer Datenbank in Wenn bei MySQL der Fehler „1418 (HY000): Diese Funktion enthält weder DETERMINISTISCH noch KEIN SQL oder LESEN SQL-DATEN in ihrer Deklaration und die Binärprotokollierung ist aktiviert“ angezeigt wird, weist dies darauf hin, dass der betreffenden Funktion eine entsprechende Deklaration fehlt.
Lösung:
Es gibt zwei Methoden, um dieses Problem zu beheben:
MySQL-Konsolenbefehl ausführen:
<code class="mysql">SET GLOBAL log_bin_trust_function_creators = 1;</code>
Dieser Befehl lockert die Prüfung auf nicht deterministische Funktionen, sodass der Import fortgesetzt werden kann.
mysql.ini konfigurieren:
Hinzufügen die folgende Zeile zur mysql.ini-Konfigurationsdatei:
log_bin_trust_function_creators = 1
Erklärung:
Binäre Protokollierung zeichnet alle an der Datenbank vorgenommenen Änderungen auf. Standardmäßig erfordert MySQL, dass Funktionen, die Daten ändern, in ihren Deklarationen als DETERMINISTISCH, KEIN SQL oder LESEN SQL-DATEN deklariert werden, um sicherzustellen, dass sie genau repliziert werden können.
Deterministische Deklarationen für gespeicherte Funktionen:
Diese Deklarationen informieren MySQL über die Art der Funktion und leiten Optimierungs- und Replikationsentscheidungen.
Hinweis: Wenn die binäre Protokollierung deaktiviert ist, gilt die Einstellung log_bin_trust_function_creators nicht. Daher ist es wichtig sicherzustellen, dass geeignete deterministische Deklarationen angegeben werden.
Durch die Implementierung einer der bereitgestellten Lösungen können Sie den Fehler beheben und mit dem Datenbankimport fortfahren.
Das obige ist der detaillierte Inhalt vonWarum löst MySQL bei aktivierter Binärprotokollierung den Fehler „DETERMINISTISCH, KEIN SQL oder LEST SQL-DATEN' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!