Skip to content
Runbook

Install MariaDB on Ubuntu / Debian

Open source SQL database, a community-developed drop-in replacement for MySQL.

Databasesqlrdbmsrelationaldatabaseacidmysql-compatible

Installation

Server (Ubuntu repositories) · apt
sudo apt update
sudo apt install -y mariadb-server

Installs the MariaDB server and client from Ubuntu's main repository.

Verify the installation

Verify
mariadb --version

Service

Start
sudo systemctl start mariadb
Stop
sudo systemctl stop mariadb
Status
sudo systemctl status mariadb
Restart
sudo systemctl restart mariadb
On boot
sudo systemctl enable mariadb

Important files

TypePathDescription
config/etc/mysql/my.cnfTop-level configuration (includes mariadb.conf.d).
data/var/lib/mysqlData directory.
log/var/log/mysql/error.logServer error log.

Default ports

3306

Command-line tools

  • mariadbInteractive SQL client (mysql is kept as a symlink).
  • mariadb-adminAdministrative client.
  • mariadb-secure-installationHardening script for the installation.

Uninstall

Uninstall
sudo apt purge -y 'mariadb-server*' mariadb-client
sudo apt autoremove -y

The /var/lib/mysql data directory remains; delete it manually to wipe everything.

Good to know

  • Run sudo mariadb-secure-installation after install to set the root password and apply secure defaults.
  • The default root account uses unix_socket auth: connect with sudo mariadb without a password.
  • MariaDB and MySQL cannot both occupy port 3306; install only one.

Installation on Ubuntu

sudo apt install -y mariadb-server installs MariaDB from Ubuntu's main repository and registers the mariadb systemd service, started automatically. Verify with mariadb --version.

Securing and first connection

By default the root account uses the unix_socket plugin: connect as the system root with sudo mariadb (no password). Run sudo mariadb-secure-installation to set passwords, remove anonymous accounts, and drop the test database.

Files and logs

The configuration entry point is /etc/mysql/my.cnf (which includes mariadb.conf.d); data lives in /var/lib/mysql and errors are logged to /var/log/mysql/error.log.