Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126

Symptons

MySQL or MariaDB databases refuses to create new column on OKM_PROFILE table:

ERROR 1118 (42000): 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.

Cause

The root cause is that InnoDB has a maximum row size that is roughly equivalent to half of the value of the innodb_page_size system variable. 

Please, read Troubleshooting Row Size Too Large Errors with InnoDB for more info. 

Diagnosis

You can find a script called rowsize.sh at Troubleshooting Row Size Too Large Errors with InnoDB which find all tables that may have the problem.

Resolution

The recommended fix is changing the row format:

alter table OKM_PROFILE ROW_FORMAT=DYNAMIC;

Properties

Properties

Date

2022-06-29

Applies to

  • Core