1118-row-size-too-large

September 20, 2018

database
mysql
error
fix

I had this error message in mySQL during a database import. The dump was exported from another db server:

#1118 - 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.

On this machine I’m currently using MAMP on a Mac (Not the PRO version), but I think you can try to use the same config file in other versions.

This is what I did to solve the problem:

  1. I stopped the server in MAMP
  2. Inside the folder: /Applications/MAMP/config/ I created a file config my.cnf. I used the template file my-default.cnf that I found in /Applications/MAMP/Library/support-files/.
  3. The following is the my.cnf file where I added also => innodb_strict_mode = 0
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
innodb_strict_mode = 0


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Written by huckbit web developer who lives and works in UK building cool things. You can find me on twitter.