Hulpartikel overzicht

Hulpartikel

Een MariaDB database server installeren in Debian 9

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. Enkele bekende gebruikers zijn bijvoorbeeld Wikipedia en Google.

In dit artikel laten wij zien hoe je MariaDB 10.3 op een VPS met Debian 9 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

Het is aan te raden na een update altijd eerst je VPS te rebooten en daarna deze commando's nog een keer uit te voeren. Stel dat je namelijk zojuist een Kernel-update hebt geïnstalleerd, dan kan het zijn dat enkele software updates pas beschikbaar zijn na de herstart.


 

Stap 2

Installeer vervolgens dirmngr (voor het managen en downloaden van OpenPHP- en X.509-certificaten en het monitoren / updaten van die certificaten).

apt-get install software-properties-common dirmngr

 

Stap 3

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

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

 

Stap 4

Installeer nu MariaDB met het commando:

apt -y install MariaDB-server MariaDB-client

 

Stap 5

MariaDB staat na de installatie uit. Schakel het in met het commando:

systemctl start mariadb

(MariaDB is standaard wel geconfigureerd om automatisch te starten na een herstart van je VPS)


 

Stap 6

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] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


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 Debian 9). 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/my.cnf.d/server.cnf

Vervang de regel:

#bind-address=0.0.0.0

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: 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.

0
Matthijs van Beek Admin 21 augustus 2020 (#4694)

@vge,

Bedankt voor je feedback! Dat was inderdaad een typo en hebben we zojuist aangepast.

0
vge 2 augustus 2020 (#4622)

Er wordt verwezen naar Yum maar dat is debian.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op