Overview

MySQL can either be used as a data source or a data destination in Mitto.

Mitto and MySQL

Source plugin example: Query

Destination plugin examples: CSV, Salesforce, SQL

MySQL as a data destination

  • Mitto automatically creates the MySQL database if it doesn't exist
  • Mitto automatically creates the MySQL database tables if they don't exist
  • Mitto automatically determines data types for MySQL columns
  • Mitto automatically adds new columns to MySQL tables based on new fields in source systems

MySQL specific setup

Below is the database url structure for connecting to a MySQL database:

mysql+pymysql://<username>:<password>@<hostname>/<database>

Here's an example of using a MySQL database as a destination in a CSV job:

NOTE: Unlike databases like PostgreSQL, MySQL doesn't have the concept of schemas. So, when using MySQL as an input or output database, you have two options:

1)  Leave "Schema" blank and append the database name to the end of the database URL.

"output": {
    "dbo": "mysql+pymsql://{user}:{password}@{host}:{port}/{database}",
    "tablename": "{tablename}",
    ...
}

2) Put the database name in the "schema" section and remove it from the end of the database URL.

"output": {
    "dbo": "mysql+pymsql://{user}:{password}@{host}:{port}/",
    "schema": "{database}",
    "tablename": "{tablename}",
    ...
}

SQL

Mitto can send SQL statements to a MySQL database. Use MySQL syntax in these Mitto SQL jobs.