Remote Root Access for MariaDB on Ubuntu 16.04 LTS

2016-10-13 Tags: databases mysql

Typically, when you install MySQL on Ubuntu, it asks you for a root password which you can then use to log into the database. It seems that MariaDB uses a plugin instead to authenticate the root user. This means that the only way to log into MariaDB by default as root is locally with sudo mysql -u root In order to give the root user a password and login the "traditional" way (which includes remote access via a tunnel) you have to do the following.

  1. Log into MariaDB as the Root user

    sudo mysql -u root
  2. Disable the Auth Plugin

    use mysql;
    update user set plugin='' where User='root';
  3. Create a password for the root user

    grant all privileges on *.* to 'root'@'' identified by '$STRONG_PASSWORD';
    flush privileges;
  4. Restart MariaDB

    sudo service mysql Restart

You can now access the root account with a password, and also over an SSH tunnel remotely.