SET GLOBAL innodb_file_format='Barracuda'; SET GLOBAL innodb_file_per_table=on; set old_alter_table=0; CREATE TABLE bug53591(a text charset utf8 not null) ENGINE=InnoDB KEY_BLOCK_SIZE=1; ALTER TABLE bug53591 ADD PRIMARY KEY(a(220)); ERROR HY000: Too big row SHOW WARNINGS; Level Code Message Error 139 Too big row Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs Error 1030 Got error 139 from storage engine DROP TABLE bug53591; SET GLOBAL innodb_file_format=Antelope; SET GLOBAL innodb_file_format_check=Antelope; SET GLOBAL innodb_file_per_table=0;