PDOException: SQLSTATE[42000]: Syntax error or access violation: 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:

Database storage Engine : Innodb

Do we have to switch over for MyIsam?

  • could you please provide more info on exactly in which scenario you encountered this error. Commented Oct 17, 2012 at 9:52
  • 1
    The reason of the error is because the uc_products['Ubercart Table'] table exceeds the limited size of innodb support. Commented Oct 17, 2012 at 10:09
  • 1
    InnoDB restricts row size to something less than half a database page (approximately 8000 bytes), not including VARBINARY, VARCHAR, BLOB, or TEXT columns. Commented Oct 17, 2012 at 10:10

1 Answer 1


Sounds like a case of InnoDB File Format issues.


If you are not using innodb_file_per_table, you may need to export all the data with mysqldump, delete ibdata and ib_logilfe0 and ib_logilfe0. Then, reimport that data. I wrote a detailed step-by-step process for this 2 years ago.


Increase the size of your InnoDB Log Files. Each file (ib_logfile0,ib_logfile1) needs to be more than 10 times as big as the biggest BLOB in your dataset:

Here are several links discussing this scenario

MySQL's maximum size of innodb_log_file_size for a log group of of 2 files is 2047M. Should you ever need InnoDB Log Files that can exceed the 4GB combined barrier, you must upgrade to Percona Server.

I also wrote a detailed step-by-step process for resizing InnoDB Log Files.


You may want to switch the innodb_file_format to Barracuda. Bill Karwin's answer in the DBA StackExchange and links thereof explains why.

  • Faced this issue when installing Drupal 8 with a translation. Increasing "innodb_log_file_size" fixed the problem. Thanks! Commented Nov 22, 2014 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.