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. Oct 17 '12 at 9:52
  • 1
    The reason of the error is because the uc_products['Ubercart Table'] table exceeds the limited size of innodb support. Oct 17 '12 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. Oct 17 '12 at 10:10

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! Nov 22 '14 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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