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

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.