Jestem w trakcie migrowania kilku stron nowego klienta, i jak to w takich sytuacjach zazwyczaj bywa – jest to przygoda pełna niespodzianek. Poza błędem 1273 (HY000) podczas importowania bazy danych MySQL trafiłem dziś rano (a w sumie to jeszcze w nocy, bo takie migracje najczęściej wykonujemy około 4-5). Błąd o tyle ciekawy, że zapewne w internecie znajdziecie masę porad jak sobie z nim poradzić, i zapewne większość z nich nie zadziała…
MySQL: Row size too large (> 8126)
Z serwera źródłowego udało się wyeksportować (zapisać) bezę do pliku danych bez jakichkolwiek problemów. Szybki przerzut na nowy serwer (w tym czasie kopiowanie plików z wykorzystaniem programu Rsync i bezpiecznego połączenia SSH), i.. zaczęły się schody.
Nie będę zanudzał Was wszystkimi drobiazgami, bo one bez większego znaczenia, do tego nie było to coś, czego rozwiązanie wymagało by „porannej kawy” (której i tak nie pijam). Niespodzianką był za to błąd 1118 (42000), który pojawił się pomimo przenoszenia bazy między tymi samymi wersjami serwera MySQL (5.7).
Tak wyglądał w konsoli:
ERROR 1118 (42000) at line 619: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
A tak – dla przykładu – w phpMyAdmin:
#1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
W dużym skrócie – czegoś jest więcej niż powinno być wg standardu, i stąd problem. Nawet nie zaglądałem do internetu w poszukiwaniu rozwiązania, bo pamiętam, że już kiedyś ze znajomym szukaliśmy, i… szkoda czasu. Uznałem, że najlepiej (i najszybciej) będzie zerkną np. w phpMyAdmin, do którego momentu baza się importuje, dzięki czemu namierzymy problem i od razu go usuniemy (również na przyszłość).
W opisywanym przypadku proces importowania zwracał błąd podczas importowania jednej z tabel utworzonych przez wtyczkę do responsywnych galerii. A z racji tego, ze na stronie (WordPress) wtyczka ta była nieużywana już od jakiegoś czasu, to nawet nie wahałem się na bazie źródłowej usunąć powiązane z nią tabele, bez głębszej analizy, który to konkretnie element psuł transakcję:
DROP TABLE `wp_bwg_album`, `wp_bwg_album_gallery`, `wp_bwg_gallery`, `wp_bwg_image`, `wp_bwg_image_comment`, `wp_bwg_image_rate`, `wp_bwg_image_tag`, `wp_bwg_option`, `wp_bwg_shortcode`, `wp_bwg_theme`;
Po tej operacji zarówno eksport jak i import bazy przebiegł pomyślnie, więc można było iść… z psami na wczesnoporanny spacer… ;-)
![(!) Zgłoś błąd na stronie](https://webinsider.pl/wp-content/uploads/2019/12/webinsider_zglos-blad-na-stronie_200x29_888888.png)
![Pomogłem? To może postawisz mi wirtualną kawę?](https://webinsider.pl/wp-content/uploads/2025/12/pomogle-postaw-mi-wirtualna-kawe-202308-6f4e37.png)
- Zakupy w sklepie Bambu Lab bez podatku VAT, czyli rejestracja jako B2B oraz specjalny link do specjalnego sklepu - 1970-01-01
- W Home Assistant 2024.7 w końcu można bezpośrednio z właściwości danego elementu zarządzać jego rozmiarem w cały jeszcze czas eksperymentalnym układzie „sekcje” - 1970-01-01
- Sprzedajesz drona DJI? Usuń go ze swojego konta. Kupujesz używanego drona DJI? Zadbaj, by dotychczasowy właściciel usunął go ze swojego konta! - 1970-01-01
No super rozwiązanie. Godne napisania artykułu. Zaimponowałeś wszystkim.
Czy wszystkim to ani ja, ani zapewne Ty tego nie wiesz. Ale do spełnienia w żuciu wystarczy mi to, że być może zaimponowałem, choć Tobie ;-P