Maria DB Dump upload

Hello the community,

I’m facing a problem with the migration of MariaDB database from the version 10.1 to the version 10.6.
To realize this task, I installed a complete new MariaDB 10.6 on a windows Server and ask for a dump of the original DB installation.

I try to upload this dump of the DB in a empty one on the MariaDB 10.6 side but I’m facing the following error:

ERROR 1118 (42000) at line 167577708: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

I’ve read on several websites that it can be resolved by adding the two following properties:

  • innodb_log_file_size that must be set with a greater value
  • innodb_strict_mode= that must be set with 0

Considering this I added this on the my.ini file and restarted the MariaDB service:
innodb_log_file_size=10240M
innodb_strict_mode=0

But even with these parameters, it’s impossible for me to completely load the dump on the DB.

Could you help me to understand my issue please?

Thanks

Hello @mmenard,
MariaDB/MySQL both have internal limitations on how much data can be stored for a single row. You have at least 1 row that has too much data as char, varchar, int, etc. You need to convert some CHAR/VARCHAR tables to TEXT columns. TEXT/BLOB columns are not stored at the same location as all the other columns; they are stored in “off-page” locations.

Check that your new 10.6 is still in latin1 character set, as utf8 uses more space and could cause the issue you are seeing.

Reduce the number of columns in the table. Tables with more than 50-75 columns usually indicates poor table design. Try to optimize your schema for better functionality and performance.

from the version 10.1 to the version 10.6.

The 10.X series is old; yes, maintained, but still dated. I recommend moving to modern 11.X series.