It looks
as if you've hit the bug described at
https://bugs.mysql.com/bug.php?id=77398, and at
https://bugs.mysql.com/bug.php?id=69336 which says it isn't a bug (I'm not making this up) ...
The "Row size too large (> 8126)" error is not a bug.
"This behavior is expected because inoodb design
requires the record to fit in the B-tree leaf
page and if unsuccessful we return error. During
the creation of BLOB or TEXT field we allocate
41 Bytes (dynamic or compressed row format) for
the field which is considered for row size
calculation. During insertion if the BLOB or
TEXT is less than 40 Bytes we store it internally
with in these 41 bytes and if it is more than 40
bytes, we store it off page and store 20 Bytes
reference to the page."
You have 27 text columns, 27*40=1080, way below 8126, doesn't add up, this can't the explanation. Can you identify the rows that trigger the error, eg by inserting rowwise to a copy of the table and logging the errors?
Just for laughs, what are the results of Show Table Status and Check Table on the table?
Edited 1 time(s). Last edit at 09/02/2018 01:41PM by Peter Brawley.