How Can We Help?

How To Install Mysql/Mariadb

You are here:
< All Topics

I refer here to mysql and mariadb interchangeably.


Mariadb is a fork of a later version of mysql and is largely compatible with mysql. To all intents and purposes for this installation and configuration instance they are the same.



apt install mysql-server


during the installation you’ll be requested to set a mysql server admin user password.


If the secure installation utility does not run automatically during the installation process, then you can run it explicitly:


mysql_secure_installation utility


This prompts you to set the mysql root password and some other security options, such as disabling remote access for the root user.


Next, install the mysql php module:


apt-get install php-mysql


then start the server:


systemctl enable mysql
systemctl start mysql


Check that mysql is running with:


root@gemini:/etc/apache2/sites-enabled# systemctl status mysql
● mariadb.service – MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-06-28 18:19:05 BST; 24h ago
Docs: man:mysqld(8)
Process: 586 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 619 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 631 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR>
Process: 738 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 740 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 694 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 30 (limit: 2282)
Memory: 382.1M
CGroup: /system.slice/mariadb.service
└─694 /usr/sbin/mysqld


You can also test the system with:


mysqladmin -p -u root version


This will return the mysql or mariadb server version information.


root@gemini:~#mysqladmin -p -u root version
Enter password:


mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.


Server version 10.3.22-MariaDB-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 day 15 hours 16 min 7 sec


Threads: 10 Questions: 1333249 Slow queries: 0 Opens: 127 Flush tables: 1 Open tables: 120 Queries per second avg: 9.431



Next, you can create an admin user and an initial database:


If you have problems with the root password, you can reset it using the mysql command line tool:


mysql -u root -p


you can display the users which are defined with:


SELECT User, Host, authentication_string FROM mysql.user;


To change the root password enter:


UPDATE mysql.user SET authentication_string = PASSWORD(‘password’) WHERE User = ‘root’;


and then:





Again in the mysql command line tool, you can create a database with:



display all existing databases with:





To work with a database:


USE <databasename>;


and delete permanently a database with:


DROP DATABASE <databasename>;


NOTE: you cannot retrieve a database once you have deleted it with DROP!


With that the basic installation of mysql server is complete.


Table of Contents