Migrate MongoDB to
MySQL

Live CDC replication, automatic BSON-to-SQL schema mapping, and zero downtime. Move your MongoDB collections to MySQL tables in minutes.

Start migrating free →Documentation

Auto Schema Mapping

ObjectId → BIGINT UNSIGNED or VARCHAR. Nested documents → JSON columns. Arrays → JSON or normalized join tables. Full control in the visual mapper.

ObjectId → BIGINT

Live CDC Sync

Tail the MongoDB oplog for real-time replication to MySQL. Sub-second latency for inserts, updates, and deletes. Supports InnoDB and MyISAM engines.

InnoDB ready

Index Preservation

MongoDB indexes are analyzed and equivalent MySQL indexes are created automatically. Compound indexes, text indexes, and TTL indexes all preserved where SQL equivalents exist.

Index mapping

Zero Downtime Cutover

Dual-write mode syncs writes to both MongoDB and MySQL during migration. Validate data integrity before cutting over. Instant rollback if needed.

Safe cutover

Shard Support

Migrating from a sharded MongoDB cluster? NoSQLSync handles each shard independently and merges data into your MySQL target. No manual shard management needed.

Sharded → MySQL

PlanetScale & RDS Ready

Works with MySQL 5.7+, MySQL 8.0+, Amazon RDS for MySQL, Google Cloud SQL, PlanetScale, and self-hosted MySQL. Connection tested before every migration.

All MySQL flavors

MongoDB to MySQL type mapping

ObjectIdBIGINT UNSIGNED / VARCHAR(24)Numeric representation or hex string
StringVARCHAR(n) / TEXT / LONGTEXTConfigurable length for variable-width strings
NumberIntINT32-bit signed integer
DoubleDOUBLE64-bit floating point
ISODate / DateDATETIME(3) / TIMESTAMPMillisecond precision datetime
BooleanTINYINT(1)0 for false, 1 for true
ArrayJSONArrays stored as native MySQL JSON columns
Object / nested docJSONNested documents as MySQL JSON with path-based querying
Binary / BinDataBLOB / LONGBLOBBinary large object storage
NullNULLFully nullable columns

Frequently asked questions

Does NoSQLSync work with MySQL 8.0?

Yes. MySQL 8.0 is fully supported, including native JSON column types, window functions, common table expressions, and role-based access control.

How are MongoDB relationships handled?

MongoDB references (DBRefs and manual ObjectId references) are converted to MySQL foreign key constraints where possible. Embedded documents become JSON columns or normalized tables based on your preference.

What about character sets and collation?

We default to utf8mb4 character set and utf8mb4_unicode_ci collation for full Unicode and emoji support. You can override this per table or column in the schema mapper.

Can I migrate to a MySQL replica set?

Yes. Point NoSQLSync at your MySQL primary and it handles the write path. For read-heavy workloads, you can configure a read replica for validation queries during migration.

How does CDC work with MySQL's storage engine?

We write directly to InnoDB tables using batched INSERT/UPDATE/DELETE statements with configurable batch sizes. The MySQL binary log captures these writes if you have downstream replication.

Is there a data size limit?

No hard limit on the Free plan (10 GB/month). Pro (500 GB/month) and Team (unlimited) cover production workloads. Contact us for petabyte-scale migrations.

Start your MongoDB to MySQL migration

Free for up to 3 migrations per month. No credit card required.

Get started free →