Innodb Row size too large (> 8126) issue

Hello All

I have encounterd a problem on engine conversion from myisam to innodb, it shows error like:

ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

To resolve following issue , i have change on my.cnf.

innodb_file_format = Barracuda
innodb_file_per_table = 1

and used on alter command.
Alter table <table_name> engine=innodb ROW_FORMAT=DYNAMIC;

It solves my issue but our team concern about the performance,security and possible error arise after following changes.

So i reqest all of you , can any one please suggest me the better alternavite solution for current issue , and what will be the performance impact on this changes.

thanks in advance.

Hi susantomahato88;

The solution you used is the standard solution as far as configuration goes. Your other option would be to modify the database schema, but I’d imagine that would be even less well received. Errors and security should not be an issue since the options you changed are standard MySQL configuration options. Performance wise, I doubt you would see a difference. If you are switching over your entire production database to InnoDB, then you should be running some sort of benchmark tests / “A-B” type testing to start with, so any potential errors or performance issues should show up at that point. I would definitely not recommend migrating everything over without any sort of testing; that is just asking for trouble. =)