When i import DB dump from MariaDB 10.3 with InnoDB engine to MySQL Cluster 7.6 with NDB engine i receive errors:

  • ERROR 1112 (42000) at line 159: Table 'NAME' uses an extension that doesn't exist in this MySQL version.
  • ERROR 1118 (42000) at line 89: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 14000. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

Can i improve these?

How to import dump from MariaDB 10.3 with InnoDB engine to MySQL Cluster 7.6 with NDB engine?

I tried to modify the engine of tables in dump from Engine=InnoDB to Engine=NDB, it doesn't work.


I don't think there is a tool that can do this for you. So you will just have to address the specific issues that you see. The InnoDB and NDB storage engines have different features and limitations, and so is of course the case with MariaDB 10.3 and MySQL NDB Cluster.

You can modify your MariaDB database schema to make it NDB-friendly, and then create a new dump file. Obviously, you'll still use the InnoDB storage engine while on MariaDB. Once you've created the dump file, you can do a search-and-replace on 'ENGINE=INNODB' and replace with 'ENGINE=NDBCLUSTER';

Look up the specific errors you see during the import and address them, one by one. The line number will indicate where the problem is in the dump file. "Row size too large" means that the columns in this particular table takes up more space than NDB Cluster supports. So you'll have to shorten them down until they fit.

(As an alternative, you can also consider whether you need MySQL NDB Cluster or whether MariaDB Cluster will also meet your requirements. If so, you may not have to do any schema modifications in order to migrate.)

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.