This is a quick start tutorial intended to lead you to a running proof of concept MySQLSync setup in less than 20 minutes.
MySQLSync is a solution for bi-directional offline first synchronization of MySQL/MariaDB databases with SQLite databases and after the quick start tutorial below, we will be having a working synchronization solution that afterwards, can evolve to a production solution by tweaking two of the components.
┌─────────────┐ ┌────────────┐ ┌────────────┐
│MySQL/MariaDB├─────────► MySQLSync ┼───────► Client app │
├─────────────┘ ┌────────────┘ ├────────────┼
│DB to sync ◄─────────┼ Server ◄───────┼ SQLite │
└─────────────┘ └────────────┘ └────────────┘
- Prerequisites
- Running MySQLSync
Having an Existing MySQLSync database
Having an existing database running on a MySQL server (or MariaDB server) is from where we should start. If you don’t have a database yet, at least you have to have a running MySQL server.
MySQLSync API Key
You can get your API key from the mysqlsync.com Dashboard. Create an account if you don’t have and you will see the API key at the main page of the Dashboard.
You will use the API key in the Manager Application and as an environment variable for the MySQLSync Server component.
Manager Application
Download the Manager Application
Download the Manager Application and extract it to a local folder. Run dist.exe.
Define the database to be synchronized
The Manager Application is the tool for defining the database(s) that will be synchronized and rules to be applied.
After running the Manager application, select the New button below the

MySQLSync Server
The MySQLSync Server component handled the synchronization logic and exposes the MySQL (or MariaDB) database for the Internet, as usually the database port is blocked is blocked via a Firewall so no connections can be outside of the local network.
To start the MySQLSync Server run:
Test Client app
The Test client side application is a simple Java application that connects to the MySQLSync server and pulls data from it, which is stored in a local SQLite database.
Running the Test Client application