We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Importing an old EE db: [ERROR in query 296] Row size too large

How Do I?

From EE Slack's avatar
From EE Slack
185 posts
about 2 years ago
From EE Slack's avatar From EE Slack

From Slack.

If you’re moving a database from server to server, especially a database from an older site, when you run your import (via phpmyadmin, cli, sequel pro/ace, etc) you can hit an error about a table being too big- typically the exp_channel_data table, very rarely the exp_member_table.

In this case, the existing EE data were being imported into MariaDB:

[ERROR in query 296] 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.

Often you can get past this by setting MySQL strict mode off. Tom suggested the following mysql config:

[mysqld]
innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check = ON
innodb_log_file_size = 1G
innodb_strict_mode = 0

In this case, with MariaDB, it was done with an sql command: SET SESSION innodb_strict_mode=OFF; and the data then imported.

Note, the EE db architecture was changed so that field data are stored in individual tables, rather than in the exp_channel_data table. A newer install won’t have many rows in exp_channel_data. For large tables, you may want to contact support about options for converting data to the new model.

       
From EE Slack's avatar
From EE Slack
185 posts
about 2 years ago
From EE Slack's avatar From EE Slack

Short answer- try disabling strict mode to complete your import.

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.