Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt meine Website nach der Migration den Fehler „Vorbereitete Anweisung muss erneut vorbereitet werden“ aus?

Warum gibt meine Website nach der Migration den Fehler „Vorbereitete Anweisung muss erneut vorbereitet werden“ aus?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 08:49:301008Durchsuche

Why Does My Website Throw a

Fehlerbehebung bei MySQL-Fehler: „Vorbereitete Anweisung muss erneut vorbereitet werden“

Bei der Migration einer Website mit geändertem PHP-Code und gespeicherten MySQL-Prozeduren Von einer lokalen Umgebung auf einen Hosting-Server hat ein anhaltender schwerwiegender Fehler, „‚Vorbereitete Anweisung muss erneut vorbereitet werden‘“, den Betrieb der Website beeinträchtigt.

Ursache des Fehlers:

Das zugrunde liegende Problem könnte mit dem MySQL-Fehler #42041 zusammenhängen, der sich auf das Caching vorbereiteter Anweisungen auswirkt. Wenn das Statement-Caching nicht ausreicht, kann der Server vorbereitete Statements nach einem Neustart möglicherweise nicht wiederverwenden, was zu dem Fehler führt.

Lösung:

Die Lösung liegt in der Anpassung des Servers table_definition_cache Variable. Diese Variable legt die maximale Anzahl von Tabellen fest, deren Definitionen im Speicher zwischengespeichert werden. Indem Sie den Wert erhöhen, können Sie mehr zwischengespeicherte vorbereitete Anweisungen aufnehmen und möglicherweise den Fehler beheben.

Implementierung:

Um den table_definition_cache-Wert zu ändern, führen Sie die folgenden Schritte aus:

  1. Greifen Sie mit einem Tool wie MySQL Workbench oder der Eingabeaufforderung auf Ihren MySQL-Server zu.
  2. Verbinden Sie sich mit der Datenbank und führen Sie den folgenden Befehl aus, um den aktuellen Wert zu überprüfen:
SHOW VARIABLES LIKE 'table_definition_cache';
  1. Legen Sie einen höheren Wert für table_definition_cache mit der folgenden Syntax fest:
SET GLOBAL table_definition_cache = <new-value>;
  1. Starten Sie den MySQL-Server neu, um die Änderungen zu übernehmen.

Zusätzliche Ressource:

Weitere Informationen zum Zwischenspeichern vorbereiteter Anweisungen finden Sie in der offiziellen MySQL-Dokumentation:
https://dev.mysql.com/doc/refman/8.0 /de/statement-caching.html

Das obige ist der detaillierte Inhalt vonWarum gibt meine Website nach der Migration den Fehler „Vorbereitete Anweisung muss erneut vorbereitet werden“ aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn