Switch from MySQL to MariaDB Database Server on Ubuntu 17.04 | 17.10

As you may well know, MariaDB database server is rapidly gaining traction and has become the default server on majority of Linux systems, including Ubuntu. Over the past many years, MySQL Server was the undisputed king for all Linux distributions. That changed.

When Oracle Corporation purchased the previous parent company of MySQL Server and made some controversial licensing changes, the opensource community slowly drifted away from MySQL and towards MariaDB.

Today, MySQL database server  is running far behind and has been dethroned by MariaDB as the default database server in the open source community.

This post shows students and new users how to switch from MySQL to MariaDB database server in Ubuntu 17.04 | 17.10 . This should probably also work with other versions of Ubuntu.

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 depended on MySQL won’t know the difference after installing MariaDB.

For the tutorial to be applied, you must already have MySQL installed on Ubuntu.

Step 1: Uninstalling 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 MariaDB database server.

Step 2: Installing MariaDB Database Server

Now that 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 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 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 or MariaDB, run the commands below to add MariaDB repository key to Ubuntu.

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

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

sudo sh -c "echo 'deb [arch=amd64,i386] https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu '$(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 branch.

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

If you want to install the latest unreleased 10.2 version, add the repository below.

sudo sh -c "echo 'deb [arch=amd64,i386] https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu '$(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 installing, the commands below can be used to stop, start and enable MariaDB service to always 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 MariaDB server.

sudo mysql_secure_installation

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

  • Enter current password for root (enter for none): Just 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 login to MySQL by typing the commands below:

sudo mysql -u root -p


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

If you’re currently running MySQL on your server, follow the steps above to switch to MariaDB.

You may also like the post below:

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.