MySQL SSH (data source)

MySQL is an open-source relational database that powers many applications and is one of the most popular databases in the world. The MySQL data integration for the Data Warehouse created by Kondado allows you to replicate your tables and views to your analytical cloud, integrally or incrementally (capturing only new and updated data).

The SSH data source differs from the traditional MySQL data source in that it connects to the database through an intermediate server, also called a tunnel or bastion.

Adding the data source

To automate MySQL ETL via SSH with Kondado for your database, follow the steps below:

1) Add the Kondado IPs n the intermediary server (and in your VPC) for the port that will be used for the connection (usually 22)

2) On the database server, release the connection to the intermediary server on the port that will be used (usually 3306).

3) On the Kondado platform, go to add data sources page and select the My SQL data source

4) Give your data source a name and fill in the information for your intermediate server and then your database. In “Server PEM key” just copy the text of the file with the PEM key.

Now just save the data source and start integrating MySQL data into the Data Lake or Data Warehouse via SSH.

Pipelines

Relationship Chart

Tables and Views

With our pipeline, you will be able to integrate tables as well as views

If your table has a datetime/timestamp type column that marks when a record was changed/inserted, your pipeline can be incremental

It will be necessary to define the primary key, which can be defined by several columns and refers to the column (or set of columns) that define a record as being unique

The created table will have a format similar to the one below:

Field Type

col_x

text

col_y

text

col_z

text

Add MySQL SSH data source on Kondado

Connect to a MySQL database through an SSH tunnel (bastion server) on the Kondado platform for secure ETL replication.

1
Whitelist Kondado IPs on the intermediary server

Add the Kondado IPs to your intermediary server (and VPC) for the SSH port that will be used, usually port 22. This is the first step to establish a secure tunnel for your data integration pipeline.

2
Allow database server connection from the intermediary

On your actual database server, release the connection to the intermediary server on the database port, typically 3306 for MySQL. This ensures the bastion can reach your database.

3
Select MySQL SSH data source on Kondado

On the Kondado platform, navigate to the add data sources page and select the MySQL data source option to begin configuring your SSH connection.

4
Configure server and database credentials

Give your data source a name and fill in the information for your intermediate server first, then your database details. In the "Server PEM key" field, paste the full text content of your PEM key file.

5
Save and start integrating

Save the data source and begin integrating MySQL data into your Data Lake or Data Warehouse via SSH. You can now set up pipelines for tables and views, including incremental replication if you have a datetime/timestamp column.

Frequently asked questions

What is the difference between the MySQL SSH data source and the regular MySQL data source?
The MySQL SSH data source connects to your database through an intermediate server (also called a tunnel or bastion), while the traditional MySQL data source connects directly. The SSH method adds a security layer by routing traffic through a dedicated intermediary server.
Which port should I open on the intermediary server for the SSH connection?
You should open the standard SSH port, which is usually port 22. Make sure to add the Kondado IPs to your intermediary server and VPC for this port to allow the platform to establish the tunnel.
What do I need to paste in the "Server PEM key" field?
You need to copy and paste the full text content of your PEM key file into the "Server PEM key" field. This private key is used to authenticate the SSH connection to your intermediary server.
Can I replicate data incrementally from MySQL via SSH?
Yes, if your table has a datetime/timestamp type column that marks when a record was changed or inserted, your pipeline can run incrementally—capturing only new and updated data rather than replicating everything each time. You will also need to define the primary key, which can consist of multiple columns.
What types of database objects can I integrate with the MySQL SSH pipeline?
With the Kondado pipeline, you can integrate both tables and views from your MySQL database via SSH. The replicated data can be sent to various destinations including Data Lakes and Data Warehouses for analytics.

Written by·Published 2023-07-17·Updated 2026-04-25