The Airbyte MySQL destination allows you to sync data to MySQL.

Sync overview

Output schema

Each stream will be output into its own table in MySQL. Each table will contain 3 columns:

  • _airbyte_ab_id: a uuid assigned by Airbyte to each event that is processed. The column type in MySQL is VARCHAR(256).

  • _airbyte_emitted_at: a timestamp representing when the event was pulled from the data source. The column type in MySQL is TIMESTAMP(6).

  • _airbyte_data: a json blob representing with the event data. The column type in MySQL is JSON.





Full Refresh Sync


Incremental - Append Sync




Getting started


To use the MySQL destination, you'll need:

  • A MySQL database version 5.7.8 or above

Setup guide

Network Access

Make sure your MySQL database can be accessed by Airbyte. If your database is within a VPC, you may need to allow access from the IP you're using to expose Airbyte.


You need a MySQL user with CREATE, INSERT, SELECT, DROP permissions. We highly recommend creating an Airbyte-specific user for this purpose.

Target Database

MySQL doesn't differentiate between a database and schema. A database is essentially a schema where all the tables live in. You will need to choose an existing database or create a new database. This will act as a default database/schema where the tables will be created if the source doesn't provide a namespace.

Setup the MySQL destination in Airbyte

Before setting up MySQL destination in Airbyte, you need to set the local_infile system variable to true. You can do this by running the query SET GLOBAL local_infile = true with a user with SYSTEM_VARIABLES_ADMIN permission. This is required cause Airbyte uses LOAD DATA LOCAL INFILE to load data into table.

You should now have all the requirements needed to configure MySQL as a destination in the UI. You'll need the following information to configure the MySQL destination:

  • Host

  • Port

  • Username

  • Password

  • Database