Heim > Datenbank > MySQL-Tutorial > Wie kann ich den MySQL-Fehler „Zeilengröße zu groß' beheben?

Wie kann ich den MySQL-Fehler „Zeilengröße zu groß' beheben?

Susan Sarandon
Freigeben: 2024-12-08 17:46:11
Original
571 Leute haben es durchsucht

How Can I Fix MySQL's

Anpassen der MySQL-Zeilengrößenbeschränkung für übergroße Daten

Die Fehlermeldung „Zeilengröße zu groß (> 8126)“ weist darauf hin, dass eine Zeile in einer MySQL-Tabelle die überschreitet Standardlimit von 8 KB. Mehrere Faktoren tragen zu diesem Problem bei, einschließlich der in den Tabellenspalten verwendeten Datentypen.

Eine mögliche Lösung besteht darin, einige der Spalten in TEXT- oder BLOB-Datentypen zu ändern, da diese größere Datenmengen aufnehmen können. Darüber hinaus kann die Verwendung von ROW_FORMAT=DYNAMIC oder ROW_FORMAT=COMPRESSED auch dazu beitragen, die Zeilengröße zu reduzieren, indem Daten effizienter gespeichert werden.

Die bereitgestellte Fehlermeldung weist jedoch darauf hin, dass die Zeilengröße auch bei diesen Änderungen möglicherweise unverändert bleibt zu groß sein. Dies liegt daran, dass die InnoDB-Speicher-Engine die ersten 768 Bytes der BLOB-Daten inline innerhalb der Zeile speichert, wodurch die Zeilengröße weiter begrenzt wird.

Um dieses Problem zu beheben, sollten Sie die Implementierung der folgenden Lösungen in Betracht ziehen:

  1. Wechseln Sie zur Barracuda-Datei Format:

    • Fügen Sie Folgendes zur my.cnf-Datei hinzu:

      • innodb_file_per_table=1
        Nach dem Login kopieren
    - This file format removes the issue of storing BLOB data inline, allowing larger rows to be accommodated.
    Nach dem Login kopieren
  2. Verwendung ROW_FORMAT=COMPRESSED:

    • Führen Sie die folgende Abfrage aus, um die Tabellenstruktur zu ändern:

      • ALTER TABLE table_name
        ENGINE=InnoDB
        ROW_FORMAT=COMPRESSED
        Nach dem Login kopieren
    - This setting reduces the row size by compressing non-key columns, potentially resolving the issue.
    Nach dem Login kopieren

Wenn die oben genannten Lösungen das Problem immer noch nicht lösen Sollten Sie ein Problem haben, sollten Sie erwägen, vorübergehend zur MyISAM-Engine zum Speichern temporärer Daten zu wechseln, indem Sie die folgende Zeile zur Datei my.cnf hinzufügen:

internal_tmp_disk_storage_engine=MyISAM
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich den MySQL-Fehler „Zeilengröße zu groß' beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage