MariaDB to MySQL: 2 Easy Methods

on Tutorial, Data Integration, ETL, MySQL • February 4th, 2020 • Write for Hevo

MariaDB and MySQL are two widely popular relational databases that boast many of the largest enterprises as their clientele. Both MariaDB and MySQL are available in two versions – A community-driven version and an enterprise version. But the distribution of features and development processes in the community and enterprise versions of MySQL and MariaDB differ from each other. MariaDB and MySQL are closely related in the sense that MariaDB is a fork of MySQL.

Even though MariaDB claims itself as a drop-in replacement for MySQL, because of the terms of licensing and enterprising support contracts, many organizations migrate between these two according to their policy changes. This blog post will cover the details of how to move data from MariaDB to MySQL.

Table of Contents

Introduction to MySQL

MySQL Logo
Image Source

MySQL first appeared in 1995 as an open-source project and was later acquired by Sun microsystems. Sun was acquired by Oracle leading to MySQL becoming an Oracle product. Many of the biggest names in the industry like Facebook, Github, etc. use MySQL for their day-to-day operations. MySQL provides a comprehensive SQL shell that can even interpret Python and Javascript. MySQL supports JSON as table fields and allows users to query based on JSON keys.

It provides a secure authentication layer with support for very granular field-level controls for reading and writing. MySQL supports table encryption as well as binary log encryption. Development processes in MySQL are more closed when compared to MariaDB and the issue trackers refer to many oracle internal sources that are closed for the public.

To learn more about MySQL, visit here.

Introduction to MariaDB

MariaDB Logo
Image Source

MariaDB started as a fork of MySQL just before the acquisition of Sun microsystems by Oracle. The objective was to establish a purely open-source alternative to MySQL anticipating possible licensing constraints imposed by Oracle. Ever since Maria DB follows a different development path as compared to MySQL with the objective being to remain as similar as possible to MySQL from a user’s perspective. Many industry stalwarts like Microsoft and Alibaba back MariaDB and it is used by many of the top organizations for its day-to-day operations. MariaDB has a comprehensive SQL layer and provides a shell. It provides similar encryption capabilities as MySQL and is known to offer slightly higher performance and faster development cycles because of its open-source roots.

To learn more about MariaDB, visit here.

Methods to Connect MariaDB to MySQL

Method 1: Using Custom Code to Connect MariaDB to MySQL

This method involves, building a Custom Code using the mysqldump command to move data from MariaDB to MySQL.

Method 2Using Hevo Data to Connect MariaDB to MySQL

Hevo Data, a No-code Data Pipeline helps to load data from any data source such as Databases, SaaS applications, Cloud Storage, SDK,s, and Streaming Services and simplifies the ETL process. It supports MariaDB and MySQL, along with 100+ data sources (including 30+ free data sources). Hevo not only loads the data onto the desired Data Warehouse but also enriches the data and transforms it into an analysis-ready form without having to write a single line of code.

Get Started with Hevo for Free

Methods to Connect MariaDB to MySQL

The following 2 methods can be used to transfer data from MariaDB to MySQL:

Method 1: Using Custom Code to Connect MariaDB to MySQL

Since both the databases provide the same set of underlying tools, it is very easy to copy data from MariaDB to MySQL. The following steps detail how to accomplish this.

  • Step 1: From the client machine, use the below command to create a complete dump of the database in MariaDB.
    mysqldump -u username -p database_name > source_dump.sql

    This command creates a source_dump.sql file.

  • Step 2: Move the file to a machine that can access the target MySQL database. If the same machine has access to the target database, this step is not relevant.
  • Step 3: Log in as root to the target MySQL database
    mysql -u root -p password
  • Step 4: In the MySQL shell, execute the below command to create a database.
    CREATE DATABASE target_database;

    Where target_database is the name of the database to which data is to be imported.

  • Step 5: Exit the MySQL shell and go to the location where the source_dump.sql is stored.
  • Step 6: Execute the below command to load the database from the dump file.
    mysql -u username -p new_database < source_dump.sql

That concludes the process. The target database is now ready for use and this can be verified by logging in to the MySQL shell and executing a SHOW TABLES command. Even though this approach provides a simple way for a one-off copy operation between the two databases, this method has a number of limitations. Let’s have a look at the limitations of this approach.

MariaDB to MySQL: Limitations of Custom Code Approach

  • In most cases, the original database will be online while the customer attempts to copy the data. mysqldump command is a costly execution and can lead to the primary database being unavailable or slow during the process.
  • While the mysqldump command is being executed, new data could come in resulting in some leftover data. This data needs to be handled separately.
  • This approach works fine if the copying operation is a one-off process. In some cases, organizations may want to maintain an exact running replica of MariaDB in MySQL and then migrate. This will need a complex script that can use the binary logs to create a replica.
  • Even though MariaDB claims itself as a drop-in replacement, the development has been diverging now and there are many incompatibilities between versions as described here. This may lead to problems while migrating using the above approach.

Method 2: Using Hevo Data to Connect MariaDB to MySQL

Hevo Data, a No-code Data Pipeline, helps you directly transfer data from MariaDB and 100+ other data sources to Databases such as MySQL, Data Warehouses, BI tools, or a destination of your choice in a completely hassle-free & automated manner. Hevo is fully managed and completely automates the process of not only loading data from your desired source but also enriching the data and transforming it into an analysis-ready form without having to write a single line of code. Its fault-tolerant architecture ensures that the data is handled in a secure, consistent manner with zero data loss.

Hevo Data takes care of all your data preprocessing needs and lets you focus on key business activities and draw a much powerful insight on how to generate more leads, retain customers, and take your business to new heights of profitability. It provides a consistent & reliable solution to manage data in real-time and always have analysis-ready data in your desired destination. 

Sign up here for a 14-Day Free Trial!

The following steps are required to connect MariaDB to MySQL using Hevo Data:

  • Connect to your MariaDB Database
  • Select the replication mode: (i) Full Table dump (ii) Load data using custom query (iii) Replicate Data using binlog
  • Configure your MySQL Database as shown in the figure and move your data.
Configuring MySQL as Destination in Hevo
Image Source

Check out why Hevo is the Best:

  • Secure: Hevo has a fault-tolerant architecture that ensures that the data is handled in a secure, consistent manner with zero data loss.
  • Schema Management: Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  • Minimal Learning: Hevo, with its simple and interactive UI, is extremely simple for new customers to work on and perform operations.
  • Hevo Is Built To Scale: As the number of sources and the volume of your data grows, Hevo scales horizontally, handling millions of records per minute with very little latency.
  • Incremental Data Load: Hevo allows the transfer of data that has been modified in real-time. This ensures efficient utilization of bandwidth on both ends.
  • Live Support: The Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.
  • Live Monitoring: Hevo allows you to monitor the data flow and check where your data is at a particular point in time.

Conclusion

The article introduced MariaDB and MySQL and explained 2 methods using which you can connect MariaDB to MySQL. The manual custom coding method provides a simple approach for a one-off migration between MariaDB and MySQL. But, this is not suitable for continuous or periodic copying operation. This method also suffers from some other limitations mentioned above. An alternative could be using a data integration platform like Hevo which can handle such migrations in an elegant way without having to write a single line of code.

Visit our Website to Explore Hevo

With Hevo Data, you can achieve seamless and efficient data replication from MariaDB to MySQL. Hevo can help you move data from not just MariaDB, but a wide array of additional data sources. This makes Hevo the right partner to cater to your evolving data needs.

Want to take Hevo for a spin? Sign Up for a 14-day free trial and experience the feature-rich Hevo suite first hand.

Share your understanding of the MariaDB to MySQL data transfer process in the comments section below!

No-code Data Pipeline for MySQL