MySQL synchronization I have a cloud-based MySQL instance (slave) and am planning a solution where a remote instance (master) will be based on a ship.  The ship will go in and out of international waters and therefore will have an intermittent terrestrial connection.  When there is no connection, data will be stored locally.  When the vessel arrives in an area with a terrestrial connection, I want the vessel database to synchronize with the cloud-based instance. 

This scenario will be duplicated with multiple vessels, with their own instances, and each vessel will need to send local changes to the cloud-based instance.

We have looked at 3'rd party open-source tools like symmetric DS and wanted to 'ask-the-experts' the preferred approach.  Is there a best-in-breed 3'rd party tool, or is the out-of-the-box MySQL solution sufficient?  Thank you in advance.
Classical MySQL replication replication should work:

Assumptions made:


your cloud instance is read only.


The master won't be able to trigger the replication however by default a slave will retry every 60 seconds (configurable CHANGE MASTER .. MASTER_CONNECT_RETRY=).

Ensure your expire_binlog_days is large on the ship based master. Account for the space required carefully on your master and cloud instance.

I'd recommend the ship based master connect via a VPN and the slave connects to the VPN address.

For multiple vessels, you can use use a multisource replication available in MySQL-5.7+ or MariaDB-10.0+. Keep each vessel in its own database for simplicity.

Choose a binlog_format that minimises your traffic volume.