MySQL row size too large (>8126)

Błąd ten z reguły związany jest z źle zaprojektowaną tabelą. Tabelą, która używa wiele pól przechowujących tekst. Najlepszym rozwiązaniem byłoby przeprojektowanie tabeli, niestety czasem taka opcja nie wchodzi w grę i trzeba ratować co się da:

Rozwiązaniem, które z reguły przynosi najlepszy rezultat jest:

# w pliku konfiguracyjnym mysql my.conf dodać/zmienić:
innodb_file_per_table
innodb_file_format = Barracuda

# zmodyfikować tabelę, która wyrzuca błąd:
ALTER TABLE konkretna_tabela ENGINE=InnoDB ROW_FORMAT=DYNAMIC

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*