Hulpartikel overzicht

Hulpartikel

Een MariaDB database server installeren in Ubuntu 18.04

MariaDB is een open source databaseserver dat is afgeleid van MySQL. Samen met Apache en PHP vormt MariaDB de zogeheten LAMP-Stack (maar dan met MariaDB in plaats van MySQL) die gebruikt wordt voor het hosten van dynamische websites (e.g. WordPress).

MariaDB is de meest gebruikte database-software in Linux en komt bijna geheel overeen met MySQL. In dit artikel laten wij zien hoe je MariaDB 10.3 op een VPS met Ubuntu 18.04 installeert. Daarnaast leggen wij enkele commando's uit voor het gebruik van MariaDB via command-line.

Voer de stappen in dit artikel uit als root user, of gebruik sudo.


MariaDB installeren en configureren

 

Stap 1

Verbind met je VPS via SSH of gebruik de VPS-console en update je VPS:

apt -y update
apt -y upgrade

Herstart nu eerst je VPS en herhaal na de herstart bovenstaande commando's (tenzij je VPS al up-to-date was). Sommige package updates zijn pas beschikbaar na het updaten en herstarten van je VPS.


 

Stap 2

Importeer vervolgens de Repository Key op je VPS en voeg de repostiroy zelf toe met respectievelijk de commando's:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.nluug.nl/db/mariadb/repo/10.3/ubuntu bionic main'

 

Stap 3

Update je VPS om de nieuwe repository te kunnen gebruiken en installeer daarna MariaDB met de commando's:

apt -y update
apt -y install mariadb-server mariadb-client

Tijdens de installatie zal je om een wachtwoord gevraagd worden. Gebruik hiervoor om veiligheidsredenen een wachtwoord dat je niet voor andere zaken op je VPS gebruikt, zoals het wachtwoord van je root-user. Je hoeft in stap 4 dan niet nogmaals je wachtwoord aan te passen.


 

Stap 4

Voor je gebruik maakt van MariaDB, moet je een aantal beveiligingsopties configureren. Hiervoor gebruik je het commando:

mysql_secure_installation

Het is belangrijk voor de veiligheid van je VPS de aangegeven zorgvuldig door te lopen. Wij raden aan de volgende keuzes te maken in dit proces (highlighted in bold en italic):


NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Firewall en externe verbindingen

SQL-poort 3306 staat niet automatisch open in je Firewall (standaard is dit UFW in Ubuntu 18.04). Voor de meeste gevallen is dit ook zeker niet nodig: Stel dat je bijvoorbeeld een WordPress-website host op je VPS, dan zal je Apache (of Nginx) server lokaal via de localhost met MariaDB verbinden en is het niet nodig de SQL-poort voor de buitenwereld open te zetten.

Heb je toch een use case waarbij je de SQL-poort beschikbaar moet maken voor een andere server, zet dan afhankelijk van je use case de SQL-poort enkel open voor je private network, of sta enkel specifiek per IP toegang tot de SQL-poort toe in Firewalld met de syntax:

ufw allow from 123.123.123.123 to any port 3306 proto tcp

Vervang 123.123.123.123 door het IP-adres dat je toegang wil geven.

Daarnaast 'bind' MariaDB standaard aan de localhost (127.0.0.1) en is daardoor niet extern bereikbaar. Om MariaDB extern bereikbaar te maken moet je het bind-adress aanpassen. Open hiervoor de configuratie van MariaDB:

nano /etc/mysql/my.cnf

Vervang de regel:

bind-address=127.0.0.1

Door de regel:

bind-address=123.123.123.123

Waarbij je 123.123.123.123 vervangt door het IP-adres van je VPS waarop je wil dat MariaDB bind. Herstart daarna MariaDB met het commando:

systemctl restart mariadb

MariaDB beheren

Voor het beheren van MariaDB zijn er twee gangbare opties: beheren via command-line of phpMyAdmin.

phpMyAdmin: Voor het installeren en gebruiken van phpMyAdmin, zie deze handleiding.

Command-line: In dit artikel leggen wij uit hoe je MariaDB beheert met behulp van een SQL-shell via command-line.

Voor databasebeheer via PHP raden wij aan de dcumentatie van w3schools.com te raadplegen.


 

Je MariaDB-server is nu klaar voor gebruik! Wil je weten hoe je een MariaDB-server redundant kunt inrichten? Neem dan een kijkje in onze redundancy series.

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op