How to convert from MySQL to MariaDB on Ubuntu Linux



The post details how to switch from MySQL to MariaDB database server on Ubuntu 17.04, with the process likely applicable to other Ubuntu versions as well. With Linux systems increasingly defaulting to MariaDB after Oracle’s controversial changes to MySQL, it provides step-by-step instructions for uninstalling MySQL and installing MariaDB. The post emphasizes that MariaDB is…

This post is intended to help students and new users switch from the MySQL database server to the MariaDB database server in Ubuntu 17.04. This should probably also work with other versions of Ubuntu.

As you may already know, MariaDB is rapidly becoming the default database server on Linux systems, including Ubuntu. However, MySQL has been the undisputed database king for all Linux distributions over the past years.

After Oracle Corporation purchased the previous parent company of MySQL and made some controversial licensing changes, the open-source community gradually started drifting away from MySQL towards MariaDB.

MariaDB is a drop-in replacement for MySQL. This means it operates and functions like MySQL. If you remove MySQL and install MariaDB, applications that depend on MySQL won’t know the difference after installing MariaDB.

To apply the tutorial, you must already have MySQL installed on Ubuntu.

Removing MySQL Database Server

To get rid of MySQL from Ubuntu, run the commands below.

sudo systemctl stop mysql.service
sudo apt-get remove mysql-server mysql-common libmysqlclient18

After running the above commands, continue below to install the MariaDB database server.

Installing MariaDB Database Server

Once MySQL is removed from Ubuntu, run the commands below to install MariaDB.

sudo apt-get install mariadb-server mariadb-client libmariadbclient18

The commands above should install the stable version of the MariaDB database server from Ubuntu repositories.

During the installation, you may get the message below that the old data directory location will be saved at the new location. Accept and continue.

┌────────────────────┤ Configuring mariadb-server-10.1 ├──────
│ The old data directory will be saved at new location
│ A file named /var/lib/mysql/debian-*.flag exists on this system. The
│ number indicates a database binary format version that cannot
│ automatically be upgraded (or downgraded).
│ Therefore the previous data directory will be renamed to
│ /var/lib/mysql-* and a new data directory will be initialized at
│ /var/lib/mysql.
│ Please manually export/import your data (e.g. with mysqldump) if needed.
│                                  <Ok>

However, if you need to install the latest versions of MariaDB, run the commands below to add the MariaDB repository key to Ubuntu.

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp:// 0xF1656F24C74CD1D8

Then, run the commands below to add the MariaDB version 10.1 branch or repository to Ubuntu.

sudo sh -c "echo 'deb [arch=amd64,i386] '$(lsb_release -cs)' main' > /etc/apt/sources.list.d/MariaDB-10.1.list"

Finally, run the commands below to install MariaDB from the 10.1 branches.

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Add the repository below to install the latest unreleased 10.2 version.

sudo sh -c "echo 'deb [arch=amd64,i386] '$(lsb_release -cs)' main' > /etc/apt/sources.list.d/MariaDB-10.2.list"

Then, run the commands below to update to the latest 10.2 version.

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

After installation, the commands below can stop, start, and enable the MariaDB service to start up when the server boots.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

After that, run the commands below to secure the MariaDB server.

sudo mysql_secure_installation

When prompted, answer the questions below by following the guide.

  • Enter current password for root (enter for none): Press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

That’s it!

Now you can log in to MySQL by typing the commands below:

sudo mysql -u root -p


Again, this post shows you how to convert from MySQL to a MariaDB database server. Since almost all Linux distributions are now switching from MySQL to MariaDB, it’s probably the best thing to change for better system support.

If running MySQL on your server, follow the steps above to switch to MariaDB.

You may also like the post below:

Like this:

One response to “How to convert from MySQL to MariaDB on Ubuntu Linux”

  1. Melroy Avatar

    Ps. on my Linux Mint system the mariadb service will be still called ‘mysql’ (I think for backwards compatibility), just that you know.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.