I've got a 700MB dump file from a mysql database that I was trying to undump into a new install of MariaDB and I got this error
ERROR 1118 (42000) at line 7481: 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.
I got most of the tables to go through, but the table that doesn't want to pump through is kind of a strange one. It's got about 10 blob fields in it (none of which should be over 1000 bytes each because of what they're supposed to be used for in my program). The only other datatypes we've got are VARCHAR
, CHAR
, SMALLINT
and INTEGER
.
What I want to achieve is an automated way to convert MySQL to MariaDB so my customers can do the same thing. So, even if I fix this problem, I'd like to know exactly what the problem is and if I can fix it on the MariaDB installation or the MySQL dumping.
Our customers use MyISAM tables because of a few outlying cases we can work around (in case that makes a difference). Seems like MariaDB created all these tables as InnoDB tables.
The syntax I used for creating the dump file was just mysqldump.exe DatabaseName --compatible=mssql > DatabaseName.sql
. I don't think the mssql
compatibility causes issues, it was just a holdover I found in the batch file.
grep --text '^)[[:space:]]ENGINE' yourdumpfile.sql
doesn't work? Also, what version of MySQL did the files originate from?