Installation steps

Gluesync SQL to NoSQL for MySQL

Prerequisites

In order to have Gluesync working on your MySQL instance you will need to have:

  • valid user credentials with permissions of reading, writing to the target tables and respective database / schema

Schemas and tables identification

In order to connect and perform the desired operations on your source MySQL database Gluesync requires you to name name your entities in the configuration file using this nomenclature: schemaName.tableName where, for example, for the schema Inventory and table Articles you should have inventory.articles.

The resulting JSON config file for your MySQL entities will look like this example:

{
  ...
  "sourceEntities": {
    "inventory.articles": {},
    "inventory.customers": {},
    "inventory.addresses": {},
    ...
  },
  ...
}

You can mix multiple schemas in your config file.

Basic configuration example

This module can be customized by using a configuration file, in JSON format. The file name to use must be specified as parameter when launching the app, with the -f or --file tokens. The file should be composed by union of common configuration file (see here Installation steps) and source/destination specific configuration:

{
  ...
  "mysql": {
    "certificatesPath": "/path/to/certs/dir/cert.pem"
  },

  "sourceChangeRetention": 5
}

MySQL specific configurations are listed under the mysql property:

  • certificatesPath (optional): the path to the certificates that need to be used when connecting to a MySQL instance using a secure connection. If omitted, no certificates are used;

You can also specify few other options that applies to this configuration, like:

  • sourceChangeRetention (optional): defaults to 5. Number of retention days preserved into the Gluesync GDC GLUESYNC_ACTION_LOG table inside your MySQL database;

Looking for data modelling features or other options?

For more detailed configurations options, including the ability to perform data modelling, please have a look at the dedicated Data modelling section when sourcing from a RDBMS.

Troubleshooting

Here following the list of common errors.

  • ERROR 1419: You do not have the SUPER privilege and binary logging is enabled: probably you’re running your MySQL instance under Amazon AWS RDS. This means that triggers are disabled by default. To fix that pelase follow the steps here after:

    1. Open the RDS web console;

    2. Open the “Parameter Groups” tab;

    3. Create a new Parameter Group. On the dialog, select the MySQL family compatible to your MySQL database version, give it a name and confirm;

    4. Select the just created Parameter Group and issue “Edit Parameters”;

    5. Look for the parameter ‘log_bin_trust_function_creators’ and set its value to ‘1’;

    6. Save the changes;

    7. Open the “Instances” tab. Expand your MySQL instance and issue the “Instance Action” named “Modify”;

    8. Select the just created Parameter Group and enable “Apply Immediately”;

    9. Click on “Continue” and confirm the changes;

    10. Again, open the “Instances” tab. Expand your MySQL instance and issue the “Instance Action” named “Modify”;

    11. Dont forget: Open the “Instances” tab. Expand your MySQL instance and issue the “Instance Action” named “Reboot”; source: https://techtavern.wordpress.com/2013/06/17/mysql-triggers-and-amazon-rds/