Hoe u MariaDB installeert op Ubuntu 22.04

Introductie

MariaDB is een open-source relationeel databasebeheersysteem dat vaak wordt gebruikt als alternatief voor MySQL als het databasegedeelte van de populaire LAMP-stack (Linux, Apache, MySQL, PHP/Python/Perl). Het is bedoeld als een plug-and-play vervanging voor MySQL.

De verkorte versie van deze installatiehandleiding bestaat uit deze drie stappen:

  • Werk uw pakketindex bij met apt
  • Installeer het pakket mariadb-server met apt. Het pakket haalt ook gerelateerde tools op om met MariaDB te communiceren
  • Voer het meegeleverde beveiligingsscript mysql_secure_installation uit om de toegang tot de server te beperken
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

Deze handleiding zal uitleggen hoe MariaDB te installeren op een Ubuntu 22.04-server en controleren of het draait en een veilige initiële configuratie heeft.

Vereisten

  • Om deze handleiding te volgen, heb je een server nodig die draait op Ubuntu 22.04. Deze server moet een niet-root-beheerdersgebruiker hebben en een firewall geconfigureerd hebben met UFW. Stel dit in door onze initiële serverinstellingen handleiding voor Ubuntu 22.04 te volgen.

Stap 1 — MariaDB installeren

Op dit moment bevatten de standaard APT repositories van Ubuntu 22.04 MariaDB versie 10.5.12.

Om het te installeren, werk je de pakketindex op je server bij met apt:

  1. sudo apt update

Vervolgens installeer je het pakket:

  1. sudo apt install mariadb-server

Deze commando’s zullen MariaDB installeren, maar zullen je niet vragen om een wachtwoord in te stellen of andere configuratiewijzigingen te maken. Omdat de standaardconfiguratie je installatie van MariaDB onveilig laat, gebruik je een script dat door het mariadb-server-pakket wordt geleverd om de toegang tot de server te beperken en ongebruikte accounts te verwijderen.

Stap 2 — MariaDB configureren

Voor nieuwe MariaDB-installaties is de volgende stap om het meegeleverde beveiligingsscript uit te voeren. Dit script wijzigt enkele van de minder veilige standaardopties voor zaken als externe root-aanmeldingen en voorbeeldgebruikers.

Voer het beveiligingsscript uit:

  1. sudo mysql_secure_installation

Dit zal u door een reeks prompts leiden waar u enkele wijzigingen kunt aanbrengen in de beveiligingsopties van uw MariaDB-installatie. De eerste prompt zal u vragen om het huidige wachtwoord van de database root in te voeren. Aangezien u er nog geen hebt ingesteld, drukt u op ENTER om “geen” aan te geven.

Output
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, you'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

U wordt gevraagd of u wilt overschakelen naar Unix-socketauthenticatie. Aangezien u al een beveiligd root-account heeft, kunt u deze stap overslaan. Typ n en druk vervolgens op ENTER.

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

De volgende prompt vraagt u of u een wachtwoord voor het database root-account wilt instellen. Op Ubuntu is het root-account voor MariaDB nauw verbonden met geautomatiseerd systeemonderhoud, dus u moet de geconfigureerde authenticatiemethoden voor dat account niet wijzigen.

Als u dit wel doet, kan een pakketupdate het databasesysteem kapotmaken door de toegang tot het beheerdersaccount te verwijderen. Typ n en druk vervolgens op ENTER.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] n

Later zult u leren hoe u een extra beheerdersaccount kunt instellen voor wachtwoordtoegang als socketauthenticatie niet geschikt is voor uw gebruikssituatie.

Van daaruit kunt u op Y drukken en vervolgens op ENTER om de standaardinstellingen te accepteren voor alle daaropvolgende vragen. Hiermee worden enkele anonieme gebruikers en de testdatabase verwijderd, worden externe root-aanmeldingen uitgeschakeld en worden deze nieuwe regels geladen zodat MariaDB onmiddellijk de door u aangebrachte wijzigingen implementeert.

Met dat heb je de initiële beveiligingsconfiguratie van MariaDB voltooid. De volgende stap is optioneel, maar je zou deze moeten volgen als je liever met een wachtwoord authenticeert naar je MariaDB-server.

Stap 3 — (Optioneel) Het aanmaken van een beheerdersaccount dat wachtwoordauthenticatie gebruikt

Op Ubuntu-systemen met MariaDB 10.5 is de MariaDB-gebruiker root standaard ingesteld om te authenticeren met de unix_socket-plugin in plaats van met een wachtwoord. Dit biedt in veel gevallen meer veiligheid en bruikbaarheid, maar het kan de zaken ook compliceren wanneer je een extern programma (bijv. phpMyAdmin) administratieve rechten wilt geven.

Omdat de server het root-account gebruikt voor taken zoals logrotatie en het starten en stoppen van de server, is het het beste om de authenticatiegegevens van het root-account niet te wijzigen. Het wijzigen van referenties in het configuratiebestand /etc/mysql/debian.cnf kan in eerste instantie werken, maar pakketupdates kunnen deze wijzigingen mogelijk overschrijven. In plaats van het wijzigen van het root-account, raden de pakketonderhouders aan om een apart administratief account aan te maken voor toegang op basis van wachtwoord.

Om dit te bereiken, zullen we een nieuw account genaamd admin aanmaken met dezelfde mogelijkheden als het root-account, maar geconfigureerd voor wachtwoordauthenticatie. Open de MariaDB-prompt vanuit je terminal:

  1. sudo mariadb

Vervolgens maak je een nieuwe gebruiker aan met root-rechten en toegang op basis van wachtwoord. Zorg ervoor dat je de gebruikersnaam en het wachtwoord aanpast aan je voorkeuren:

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Flush de rechten om ervoor te zorgen dat ze zijn opgeslagen en beschikbaar zijn in de huidige sessie:

  1. FLUSH PRIVILEGES;

Na dit, verlaat je de MariaDB-shell:

  1. exit

Tenslotte, laten we de MariaDB-installatie testen.

Stap 4 — Testen van MariaDB

Wanneer geïnstalleerd vanuit de standaard repositories, zal MariaDB automatisch starten. Om dit te testen, controleer je de status.

  1. sudo systemctl status mariadb

Je ontvangt output die vergelijkbaar is met het volgende:

Output
● mariadb.service - MariaDB 10.5.12 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ . . .

Als MariaDB niet draait, kun je het starten met het commando sudo systemctl start mariadb.

Als extra controle kun je proberen verbinding te maken met de database met behulp van het mysqladmin-hulpprogramma, dat een client is waarmee je administratieve commando’s kunt uitvoeren. Bijvoorbeeld, dit commando zegt om verbinding te maken met MariaDB als root via de Unix-socket en de versie terug te geven:

  1. sudo mysqladmin version

Je ontvangt output die hierop lijkt:

Output
mysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.5.12-MariaDB-1build1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /run/mysqld/mysqld.sock Uptime: 15 min 53 sec Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505

Conclusie

In deze handleiding heb je het MariaDB relationele databasebeheersysteem geïnstalleerd en beveiligd met behulp van het mysql_secure_installation-script dat ermee is geïnstalleerd. Je had ook de mogelijkheid om een nieuwe beheerdersgebruiker aan te maken die wachtwoordauthenticatie gebruikt voordat je de functionaliteit van de MariaDB-server testte.

Nu je een draaiende en beveiligde MariaDB-server hebt, zijn hier enkele voorbeelden van volgende stappen die je kunt nemen om met de server te werken:

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04