How to Switch from MySQL to MariaDB Database on Ubuntu Linux

presentation 1794128 640
presentation 1794128 640

The steps can be a good starting point if you’re currently running the MySQL database server on Ubuntu 16.04 and wish to switch to MariaDB.

This post is intended to help students and new users convert from MySQL to MariaDB database server on Ubuntu 16.04 LTS.

As you may already know, MariaDB is rapidly gaining traction on Linux systems, including Ubuntu. Over the past years, MySQL has been the default database server. Now MariaDB has taken over.

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

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

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://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

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

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.1.list"

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

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

Add the repository below if you want to install the latest unreleased 10.3 version.

sudo sh -c "echo 'deb [arch=amd64,i386] https://mirrors.evowise.com/mariadb/repo/10.3/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 the MariaDB service always 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): 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 log in to MySQL by typing the commands below:

sudo mysql -u root -p

Summary:

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 switch for better system support.

You may also like the post below:

Posted by
Richard W

I love computers; maybe way too much. What I learned I try to share at geekrewind.com.

3 Comments

  1. This will not migrate your existing databases. Use with caution.

  2. This article is so misleading, I can’t believe it. As previously mentioned, this will NOT migrate your existing database. This is completely useless. It simply removes mysql and installs mariadb, completely ignoring what’s going to happen to the database itself.

  3. Zach Screwtheauthor Gilmore

    Does not address the very concern everyone came here for: how to switch from MySQL to MariaDB (which would include migration of course, but this article does not). Good tutorial on how to uninstall mysql and subsequently install mariadb, but not on how to switch… Thanks I deleted my database on accident..

Leave a Reply

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

%d bloggers like this: