

Building your pipeline or Using Airbyte
Airbyte is the only open source solution empowering data teams to meet all their growing custom business demands in the new AI era.
- Inconsistent and inaccurate data
- Laborious and expensive
- Brittle and inflexible
- Reliable and accurate
- Extensible and scalable for all your needs
- Deployed and governed your way
Start syncing with Airbyte in 3 easy steps within 10 minutes



Take a virtual tour
Demo video of Airbyte Cloud
Demo video of AI Connector Builder
What sets Airbyte Apart
Modern GenAI Workflows
Move Large Volumes, Fast
An Extensible Open-Source Standard
Full Control & Security
Fully Featured & Integrated
Enterprise Support with SLAs
What our users say


"The intake layer of Datadog’s self-serve analytics platform is largely built on Airbyte.Airbyte’s ease of use and extensibility allowed any team in the company to push their data into the platform - without assistance from the data team!"


“Airbyte helped us accelerate our progress by years, compared to our competitors. We don’t need to worry about connectors and focus on creating value for our users instead of building infrastructure. That’s priceless. The time and energy saved allows us to disrupt and grow faster.”


“We chose Airbyte for its ease of use, its pricing scalability and its absence of vendor lock-in. Having a lean team makes them our top criteria. The value of being able to scale and execute at a high level by maximizing resources is immense”
Prerequisites
- Ensure you have administrative access to the MySQL database.
- Install ClickHouse server and client on the destination machine.
- Familiarity with SQL and command-line tools.
- Connect to MySQL:
Open a terminal and connect to your MySQL database using the following command:mysql -u [username] -p[password] [database_name]
Replace `[username]`, `[password]`, and `[database_name]` with your MySQL credentials and database name. - Choose Data to Export:
Decide which tables or data you want to export. You can export entire tables or a subset of data based on your requirements. - Export Data to CSV:
Use the SELECT ... INTO OUTFILE statement to export the data to a CSV file. For example:
SELECT * INTO OUTFILE '/path/to/your/output.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM your_table;
Replace `/path/to/your/output.csv` with the desired output file path and `your_table` with the table name you want to export.
- Review Data Types:
Ensure that the MySQL data types are compatible with ClickHouse data types. You may need to convert certain data types to match ClickHouse’s requirements. - Modify CSV (if necessary):
If any modifications are needed (e.g., changing date formats or handling NULL values), process the CSV file using a scripting language like Python or a tool like awk. - Split Large Files (optional):
If the CSV file is very large, consider splitting it into smaller chunks to make the import process more manageable.
- Connect to ClickHouse:
Open a terminal and connect to ClickHouse using the ClickHouse client:clickhouse-client -u [username] --password [password] --database [database_name]
Replace [username], [password], and [database_name] with your - Create Table:
Define the table schema in ClickHouse to match the structure of the MySQL data you are importing. Use the CREATE TABLE statement to create the table. For example:CREATE TABLE my_table (
id UInt32,
name String,
created_at DateTime
) ENGINE = MergeTree()
ORDER BY id;
Adjust the table definition according to your data.
- Import Data:
Use the clickhouse-client command to import the CSV file into ClickHouse. For example:
clickhouse-client --query="INSERT INTO my_table FORMAT CSV" --database=[database_name] < /path/to/your/output.csv
Replace [database_name] with your ClickHouse database name and /path/to/your/output.csv with the path to your CSV file.
- Check Data Count:
Run a simple SELECT COUNT(*) FROM my_table; query in both MySQL and ClickHouse to ensure that the row counts match. - Compare Sample Data:
Compare a sample set of data from both databases to verify that the data has been transferred correctly. - Validate Data Types:
Ensure that all data types have been correctly interpreted and stored in ClickHouse.
- Optimize Table (if necessary):
In ClickHouse, you can run OPTIMIZE TABLE my_table FINAL; to merge data parts and improve query performance. - Remove Temporary Files:
Delete the CSV files if they are no longer needed to free up space.
Tips:
- Always back up your data before performing migration operations.
- Test the migration process with a small subset of data before moving the entire dataset.
- Consider the impact of timezone differences and character encoding between MySQL and ClickHouse.
- If you encounter performance issues, you can tweak ClickHouse settings or adjust the import process (e.g., using parallel imports).
FAQs
What is ETL?
ETL, an acronym for Extract, Transform, Load, is a vital data integration process. It involves extracting data from diverse sources, transforming it into a usable format, and loading it into a database, data warehouse or data lake. This process enables meaningful data analysis, enhancing business intelligence.
MySQL is an SQL (Structured Query Language)-based open-source database management system. An application with many uses, it offers a variety of products, from free MySQL downloads of the most recent iteration to support packages with full service support at the enterprise level. The MySQL server, while most often used as a web database, also supports e-commerce and data warehousing applications and more.
MySQL provides access to a wide range of data types, including:
1. Numeric data types: These include integers, decimals, and floating-point numbers.
2. String data types: These include character strings, binary strings, and text strings.
3. Date and time data types: These include date, time, datetime, and timestamp.
4. Boolean data types: These include true/false or yes/no values.
5. Spatial data types: These include points, lines, polygons, and other geometric shapes.
6. Large object data types: These include binary large objects (BLOBs) and character large objects (CLOBs).
7. Collection data types: These include arrays, sets, and maps.
8. User-defined data types: These are custom data types created by the user.
Overall, MySQL's API provides access to a wide range of data types, making it a versatile tool for managing and manipulating data in a variety of applications.
What is ELT?
ELT, standing for Extract, Load, Transform, is a modern take on the traditional ETL data integration process. In ELT, data is first extracted from various sources, loaded directly into a data warehouse, and then transformed. This approach enhances data processing speed, analytical flexibility and autonomy.
Difference between ETL and ELT?
ETL and ELT are critical data integration strategies with key differences. ETL (Extract, Transform, Load) transforms data before loading, ideal for structured data. In contrast, ELT (Extract, Load, Transform) loads data before transformation, perfect for processing large, diverse data sets in modern data warehouses. ELT is becoming the new standard as it offers a lot more flexibility and autonomy to data analysts.
What should you do next?
Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:
MySQL is an SQL (Structured Query Language)-based open-source database management system. An application with many uses, it offers a variety of products, from free MySQL downloads of the most recent iteration to support packages with full service support at the enterprise level. The MySQL server, while most often used as a web database, also supports e-commerce and data warehousing applications and more.
ClickHouse is an open-source, column-oriented OLAP database management system that allows users to generate analytical reports using SQL queries. Also offered as a secure and scalable service in the cloud, ClickHouse Cloud allows anyone to effortlessly take advantage of efficient real time analytical processing.

1. Open the Airbyte UI and navigate to the "Sources" tab.
2. Click on the "Add Source" button and select "MySQL" from the list of available sources.
3. Enter a name for your MySQL source and click on the "Next" button.
4. Enter the necessary credentials for your MySQL database, including the host, port, username, and password.
5. Select the database you want to connect to from the drop-down menu.
6. Choose the tables you want to replicate data from by selecting them from the list.
7. Click on the "Test" button to ensure that the connection is successful.
8. If the test is successful, click on the "Create" button to save your MySQL source configuration.
9. You can now use your MySQL connector to replicate data from your MySQL database to your destination of choice.


With Airbyte, creating data pipelines take minutes, and the data integration possibilities are endless. Airbyte supports the largest catalog of API tools, databases, and files, among other sources. Airbyte's connectors are open-source, so you can add any custom objects to the connector, or even build a new connector from scratch without any local dev environment or any data engineer within 10 minutes with the no-code connector builder.
We look forward to seeing you make use of it! We invite you to join the conversation on our community Slack Channel, or sign up for our newsletter. You should also check out other Airbyte tutorials, and Airbyte’s content hub!
What should you do next?
Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:
What should you do next?
Hope you enjoyed the reading. Here are the 3 ways we can help you in your data journey:
Ready to get started?
Frequently Asked Questions
MySQL provides access to a wide range of data types, including:
1. Numeric data types: These include integers, decimals, and floating-point numbers.
2. String data types: These include character strings, binary strings, and text strings.
3. Date and time data types: These include date, time, datetime, and timestamp.
4. Boolean data types: These include true/false or yes/no values.
5. Spatial data types: These include points, lines, polygons, and other geometric shapes.
6. Large object data types: These include binary large objects (BLOBs) and character large objects (CLOBs).
7. Collection data types: These include arrays, sets, and maps.
8. User-defined data types: These are custom data types created by the user.
Overall, MySQL's API provides access to a wide range of data types, making it a versatile tool for managing and manipulating data in a variety of applications.