Oto demo tego, o czym mówi @JorgeLondoño.
Ustaw maksymalny dozwolony rozmiar pakietu serwera:
mysql> set global max_allowed_packet=1024*1024*1024;
Wyjdź i ponownie otwórz klienta mysql, tym razem ustawiając maksymalny rozmiar pakietu klienta na taki sam:
$ mysql --max-allowed-packet=$((1024*1024*1024*))
Utwórz tabelę testową z kolumną JSON i wypełnij ją najdłuższym dokumentem JSON, jaki możesz:
mysql> create table test.jtest ( j json );
mysql> insert into test.jtest
set j = concat('[', repeat('"word",', 100000000), '"word"]');
Query OK, 1 row affected (1 min 49.67 sec)
mysql> select length(j) from test.jtest;
+-----------+
| length(j) |
+-----------+
| 800000008 |
+-----------+
To pokazuje, że udało mi się stworzyć pojedynczy dokument JSON zawierający 100 milionów elementów, a MySQL przechowuje go w około 800 MB.
Nie próbowałem dłuższego dokumentu. Zakładam, że maksymalnie wynosi 1 GB, co jest największą wartością, jaką możesz ustawić dla max_allowed_packet.