Het beheren van MySQL databases is één van de belangrijkste vaardigheden waar een professionele WordPress developer over moet beschikken. En Adminer maakt deze taak veel makkelijker.

Elke WordPress website heeft een database nodig om te kunnen functioneren. In deze database kan WordPress alle belangrijke (lees: kritieke) data van je website opslaan. Alhoewel phpMyAdmin al lange tijd een populaire MySQL/MariaDB databasemanagementtool is, is Adminer inmiddels een volwaardig alternatief. Er zitten allerlei handige functies in en heeft een mooiere UI, en dat allemaal binnen één enkel lichtgewicht PHP bestand dat je eenvoudig kan gebruiken vanaf je server.

In dit artikel ga je alles over Adminer lezen, de vele voordelen ten opzichte van phpMyAdmin en hoe je de tool kan gebruiken om je databases te beheren. We gaan ook ontdekken hoe DevKinsta Adminer gebruikt om WordPress databasemanagement te vereenvoudigen binnen lokale developmentomgevingen.

Aan de slag!

Wat is Adminer?

Adminer (eerder bekend als phpMinAdmin) is een gratis, open source databasemanagementtool gebaseerd op PHP. Je kan het eenvoudig installeren op je server. Het enige dat je hiervoor hoeft te doen is één PHP bestand naar je server te uploaden, met je browser erheen te gaan en in te loggen.

Adminer inlogpagina
Adminer inlogpagina

Anders dan phpMyAdmin, dat alleen het beheer van MySQL en MariaDB databases ondersteunt, biedt Adminer ook ondersteuning voor andere soorten databases, zoals PostgreSQLSQLiteMS SQLOracleSimpleDBElasticsearchMongoDB, en Firebird. Daarnaast is het beschikbaar in wel 43 talen.

Adminer gebruikt een interface die eenvoudig te gebruiken is, biedt betere ondersteuning voor allerlei MySQL functies, zorgt voor betere prestaties, en heeft een sterkere beveiliging.

Laten we dus snel gaan kijken hoe je Adminer kan installeren.

Hoe gebruik je Adminer?

Voordat je Adminer gaat installeren is het handig om de minimale vereisten te weten om de software op je server te kunnen gebruiken:

En dat was het.

Download de nieuwste versie van Adminer op hun officiële website. Je kan hier ook de MySQL-only en Engels-only versies van Adminer vinden. Beheer je een MySQL of een MariaDB database (bijvoorbeeld voor een WordPress website), dan kan je voor deze lichtere varianten kiezen.

Downloaden van de nieuwste versie van Adminer
Downloaden van de nieuwste versie van Adminer

Wanneer je de terminal gebruikt, kan je het direct naar je map downloaden via de curl opdracht.

curl -o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php

Adminer 4.7.8 is de nieuwste stabiele versie. Deze biedt ook ondersteuning voor het gloednieuwe PHP 8.0. Je kan simpelweg het versienummer van Adminer veranderen in de download URL hierboven wanneer er een nieuwe versie beschikbaar is.

Na het downloaden plaats je het .php bestand ergens op je server, bijvoorbeeld in de rootmap. Maar het is een goede gewoonte om al je externe tools in een aparte map te zetten (zoals vendor, assets, etc).

Je hebt Adminer nu op je server geïnstalleerd. Het is plug-and-play, dus Adminer werkt op nagenoeg elke server.

Zo open je Adminer

Om Adminer te openen, ga je naar de link via je browser.

Als je het bestand bijvoorbeeld in de rootmap van je website hebt geplaatst, kan je Adminer openen via de link https://jouw-website.com/adminer-4.7.8.php. Heb je geen domeinnaam, dan kan je het ook vinden via het IP adres van je server of localhost omgeving.

Inloggen bij Adminer met of zonder een database naam
Inloggen bij Adminer met of zonder een database naam

Vanaf hier kan je inloggen op elke database die je hebt geïnstalleerd op je server. Je kan het veld voor database ook leeg laten. Adminer zal je een lijst met alle databases laten zien in het volgende scherm.

Door Permanent login aan te vinken worden je inloggegevens opgeslagen, zodat je later makkelijk kan terugkeren naar deze sessie via een link.

Adminer zal alle databases laten zien als je geen database specificeert
Adminer zal alle databases laten zien als je geen database specificeert

Features van Adminer

Adminer biedt allerlei features die het beheren van databases makkelijker maken. Tijd om daar eens goed naar te kijken.

Maak verbinding met de server van een database

Zoals eerder gezegd kan je verbinding maken met elke databaseserver die Adminer ondersteunt. Voor een MySQL databaseserver is de standaard gebruikersnaam root, en het standaard wachtwoord is een lege string. Je kan ook een bestaande database beheren.

Verkennen van een WordPress database via Adminer
Verkennen van een WordPress database via Adminer

Maak een nieuwe database

Je kan op Create database klikken om een nieuwe MySQL database te maken. Voer de naam van de database in en selecteer het collation type. Voor WordPress database is het aanbevolen collation type utf8mb4_unicode_ci.

Maken van een nieuwe database in Adminer
Maken van een nieuwe database in Adminer

Na het aanmaken van de database kan je verschillende zaken aanpassen, zoals de naam, schema, gebruikers of tabellen van de database.

Instellen van de naam en collation type van de database
Instellen van de naam en collation type van de database

Je hebt nu een nieuwe MySQL database gemaakt. De volgende pagina laat meer mogelijkheden zien om deze te vullen met tabellen, kolommen en meer.

Vind de nieuwe database in het dropdownmenu
Vind de nieuwe database in het dropdownmenu

Verander de naam en collation type van een database

Klik op Alter database om de naam en collation type aan te passen. Je hebt nu net een database aangemaakt, en als je meteen al een typefout ziet, is dit een erg handige optie.

Pas databases eenvoudig aan via 'Alter Database'
Pas databases eenvoudig aan via ‘Alter Database’

Zo heb ik bijvoorbeeld het collation type van de database veranderd van utf8_unicode_ci naar utf8mb4_unicode_ci.

Bewerken van een database in Adminer
Bewerken van een database in Adminer

Opmerking: Als je database al gebruikt wordt door een applicatie, let er dan op dat eventuele veranderingen ook in de code van je applicatie worden doorgevoerd.

Bekijk het schema van de database

Een databaseschema gaat over de logische instellingen die bepalen hoe de elementen van de database zich tot elkaar verhouden. In MySQL is een schema synoniem voor een database. Het is dus in feite hetzelfde.

Maar in andere databases zoals PostgreSQL en Oracle, gaat een schema over een verzameling tabellen. Dat is dus slechts een onderdeel van de database.

WordPress gebruikt MySQL als database. Daarom is het schema in feite de tabellen met bijbehorende kolommen. Adminder maakt het mogelijk om schemaboxes te verplaatsen of te veranderen.

Verkennen van het WordPress database schema in Adminer
Verkennen van het WordPress database schema in Adminer

Dit is een goede manier om de structuur van een WordPress database goed te leren kennen.

Bekijk de data en structuur van de tabellen

Klik op een tabel om meer details te zien. Standaard zal Adminer je naar het tabblad Show structure voor de tabel sturen. Hier zie je informatie over de kolommen van de tabellen, zoals de namen, types en indexen.

Klik op een tabel om de 'Structure' te bekijken
Klik op een tabel om de ‘Structure’ te bekijken

Wanneer je databasetabel een externe key of trigger bevat, zullen deze helemaal onderaan getoond worden.

Het voorbeeld hierboven laat de gegevens van de tabel wp_options zien. Hier slaat WordPress alle belangrijke instellingen op. Vervolgens kan je naar het tabblad Select data gaan om alle waarden die in deze tabel opgeslagen zijn te bekijken.

Bekijk alle data uit de tabel per kolom
Bekijk alle data uit de tabel per kolom

Zoals je kan zien is de gebruikersinterface hier aanzienlijk prettiger dan in phpMyAdmin.

Verander de instellingen voor de tabellen en kolommen

Klik op Alter table om de instellingen voor de tabel of kolommen te bewerken.

Verander eenvoudig de database tabellen en kolommen met Adminer
Verander eenvoudig de database tabellen en kolommen met Adminer

Voor elke tabel kan je de naam, engine en collation type wijzigen. Onderaan zie je ook mogelijkheden voor het instellen van de standaardwaarden van de tabel voor het starten van automatische stappen, en of je de kolommen een standaardwaarde en opmerkingen kan meegeven.

Bij de kolommen kan je de namen, type, lengte en collation type aanpassen.

Je kan ook kolommen toevoegen of verwijderen door op + of x te klikken. De knop Drop verwijdert meteen de hele databasetabel, dus wees daar voorzichtig mee.

Na je aanpassingen klik je nog op Save.

Voeg nieuwe gegevens toe en update bestaande items

Druk op New item om naar het tabblad insert: <table_name> te gaan.

Een nieuw item toevoegen aan de kolommen van je database
Een nieuw item toevoegen aan de kolommen van je database

Hier kan je een nieuwe rij voor een nieuwe observatie toevoegen. Adminer geeft je een lijst met de namen en typen van kolommen, zodat je dit makkelijk kan invoeren. Je kan ook een hash functie uitvoeren voor de waarde die je invoert, zodat ze automatisch worden versleuteld. Dit is erg handig voor gevoelige data, zoals een wachtwoord. Zo slaat WordPress bijvoorbeeld de wachtwoorden op in de database via het MD5 algoritme.

Het aanpassen van een bestaand item is eenvoudig. Wil je bijvoorbeeld de omschrijving van je website aanpassen, dan verander je de waarde in blogdescription binnen de wp_options tabel.

Aanpassen van een bestaand item in de database met Adminer
Aanpassen van een bestaand item in de database met Adminer

Vervolgens voer je een nieuwe beschrijving in bij het option_value veld en klik je op Save om de wijzigingen te activeren.

Veranderen van de beschrijving van een WordPress website via Adminer
Veranderen van de beschrijving van een WordPress website via Adminer

Zoek data in alle tabellen

Adminer maakt het mogelijk in één keer alle tabellen van een database te doorzoeken. Je krijgt dan de tabellen te zien die deze waarde waarschijnlijk bevatten.

Met Adminer zoeken op een term binnen een database
Met Adminer zoeken op een term binnen een database

Wanneer ik bijvoorbeeld zoek op home, laat Adminer de wp_options tabel zien als de meest waarschijnlijk plek. Als ik daarop klik krijg ik de precieze kolom en rijen te zien waar Adminer het in de database heeft gevonden.

Klik op een tabel onder het zoekresultaat om de precieze details te zien. Vanuit daar kan je een preciezere zoekopdracht uitvoeren binnen de tabel.

Zoek verder binnen de voorgestelde tabel
Zoek verder binnen de voorgestelde tabel

Zo kan ik bijvoorbeeld de waarde van de home optie aanpassen en zo de URL van mijn startpagina wijzigen.

Verwijder, verplaats, kopieer en verkort tabellen

Adminer maakt het mogelijk om allerlei bewerkingen op je tabellen uit te voeren vanuit het dashboard van de database.

Voer eenvoudig SQL bewerkingen uit op tabellen
Voer eenvoudig SQL bewerkingen uit op tabellen

Je kan allerlei SQL query’s op de tabellen uitvoeren door ze te selecteren en op de knoppen eronder te klikken.

Wil je bijvoorbeeld delete gebruiken om alle reacties op je site te verwijderen, dan kan je de tabel wp_comments selecteren en op Truncate klikken. Hierdoor worden alle rijen in de tabel geleegd, maar blijft de structuur wel bestaan. Door op Drop te klikken wordt de hele tabel verwijderd.

Hier kan je verder ook de tabel verplaatsen via Move of kopiëren via Copy. Met Overwrite kan je snel de data van de site overzetten naar een andere website, bijvoorbeeld de artikelen en reacties.

Maak nieuwe tabellen, views, routines en events

Je kan Adminer gebruiken om nieuwe tabellen, views, routines en events te maken.

Een nieuwe tabel maken is simpel met Adminer
Een nieuwe tabel maken is simpel met Adminer

Met de functie Create table kan je het complete schema van een tabel definiëren, inclusief de kolommen en geneste waarden.

Gevorderde gebruikers kunnen ook de andere geavanceerde functies van Adminer gebruiken om MySQL views, procedures, functies en events te definiëren.

Maak allerlei andere SQL functies via Adminer
Maak allerlei andere SQL functies via Adminer

Importeer of exporteer een database

Met Adminer kan je eenvoudig een MySQL database importeren. Het enige dat je hiervoor hoeft te doen is de back-up van het .sql of sql.gz (aanbevolen) bestand te uploaden en uit te voeren. Op deze manier kan je eenvoudig een MySQL database herstellen.

Importeren van een MySQL database in Adminer
Importeren van een MySQL database in Adminer

Op dezelfde manier is een back-up maken van een bestaande database ook eenvoudig met Adminer. Je klikt gewoon op Export en kiest hoe je de database wil exporteren, zoals het outputtype, format en andere instellingen. Je kan ook de tabellen selecteren die je wil exporteren.

Exporteren van een database in Adminer
Exporteren van een database in Adminer

Standaard ondersteunt Adminer het exporteren van de database met OpenSave, of GZIP outputs, en met SQLCSVCSV;, of TSV formats. Maar je kan deze functies eenvoudig uitbreiden met Adminer plugins. Die zullen we zometeen behandelen.

Voer SQL Query’s uit

Met Adminer hoef je geen onhandige gebruikersinterface te gebruiken om een SQL query uit te voeren. Je gaat gewoon naar het scherm SQL command en voert de gewenste query uit.

Uitvoeren van SQL query's in SQL Command van Adminer
Uitvoeren van SQL query’s in SQL Command van Adminer

Let op de markering van de syntax. Adminer linkt zelfs de gemarkeerde SQL keywords naar hun officiële documentatie.

Voordat je de query uitvoert kan je het aantal rijen beperken, aangeven dat de query moet stoppen bij een fout, en alleen de output voor fouten moet tonen.

Laat rechten van gebruikers zien en maak nieuwe rechten

Je kan Adminer gebruiken om nieuwe gebruikers met speciale rechten voor je database te maken. Dit is in de meeste gevallen niet nodig, maar mocht je toch een nieuwe gebruiker moeten maken, dan kan dit dus snel.

Het menu 'Priviliges' in Adminer
Het menu ‘Priviliges’ in Adminer
Maken van een nieuwe database gebruiker in Adminer
Maken van een nieuwe database gebruiker in Adminer

Uitgebreide mogelijkheden voor customization

Je kan de standaardfuncties van Adminer uitbreiden of overschrijven met je eigen code via de standaard Adminer class. Om dat te doen moet je een adminer_object functie definiëren die custom waarden voor de Adminer class retourneert.

Wil je bijvoorbeeld de naam in de paginatitel en heading wijzigen, dan kan je dat doen via deze code:

<?php
function adminer_object() {  
    class AdminerExtender extends Adminer {function name() {
        // your custom name for title & heading
        return 'Adminer for Kinsta';
        }
    }
    return new AdminerExtender;
}
include './adminer-4.7.8.php';

Je kan nu de custom naam die we ingesteld hebben (“Adminer for Kinsta”) zien in de header.

Aanpassen van de header van Adminer met de extensie API
Aanpassen van de header van Adminer met de extensie API

Er zijn nog een hoop andere gave dingen die je met de extensies van Adminer kan doen. Je kan meer lezen over de extensies van Adminer op de API referentiepagina.

Adminer Plugins

Adminer plugins zijn kant-en-klare extensies die je kan gebruiken om de standaardfuncties van Adminer uit te breiden.

Wil je bijvoorbeeld je database exporteren in XML format, dan installeer je gewoon de Adminer plugin dump-xml. Of als je de database als ZIP bestand wil exporteren, dan gebruik je de dump-zip extensie.

Uitbreiden van de standaardmogelijkheden van Adminer via plugins
Uitbreiden van de standaardmogelijkheden van Adminer via plugins

De officiële website noemt een aantal van de populairste Adminer plugins. Daar kan je ook meer informatie vinden over het installeren en gebruiken van Adminer plugins.

Adminer Thema’s

Eén van de mooiste features van Adminer is de functie voor thema’s. De officiële website noemt een aantal ontwerpen die klaarliggen voor gebruik.

Gebruik een Adminer thema om het uiterlijk te veranderen
Gebruik een Adminer thema om het uiterlijk te veranderen

Om een Adminer thema te gebruiken moet je het adminer.css bestand van het thema in dezelfde map plaatsen als het adminer.php bestand.

Simpel genoeg dus.

Verander het ontwerp van Adminer met thema's
Verander het ontwerp van Adminer met thema’s

Het voorbeeld hierboven is het Hydra thema dat ook op de website van Adminer genoemd wordt. Het is een Material Design-based donker thema voor Adminer.

Een ander Adminer thema (mvt)
Een ander Adminer thema (mvt)

Enkele andere mooie voorbeelden zijn Adminer Bootstrap-Like Design en Adminer Theme by pematon. Door één van bovenstaande thema’s als sjabloon te gebruiken kan je het uiterlijk van Adminer aanpassen door het CSS bestand te bewerken.

Adminer en phpMyAdmin

Nu we de verschillende functies van Adminer gezien hebben, kunnen we Adminer vergelijken met phpMyAdmin, de marktleider op dit gebied. Een korte beoordeling op verschillende aspecten:

Adminer en phpMyAdmin: Vergelijking van features

phpMyAdmin ondersteunt alleen MySQL databases, terwijl Adminer ook allerlei andere databases ondersteunt. Adminer is ook beschikbaar in een MySQL-only versie.

Het maken en bewerken van tabellen in phpMyAdmin is een knoeiboel vergeleken met Adminer. Je kan met Adminer eenvoudig meerdere dataitems selecteren en bewerken. Bij phpMyAdmin is dat bijna onmogelijk.

Je kan ook naar Adminer Editor kijken, een variant van Adminer die zich focust op het bewerken van een database. Dit werkt slechts met één database tegelijk, en je moet verbinding maken met een andere database om het te laten werken.

Er zijn ook gebieden waar phpMyAdmin duidelijke voordelen biedt. Zo worden er bijvoorbeeld meer talen en exportformats ondersteund dan in Adminer. Het grotere aantal gebruikers zorgt ervoor dat er een levendige community is die je graag helpt bij problemen.

Adminer en phpMyAdmin: Beveiliging

Volgens het team van Adminer “is beveiliging de hoogste prioriteit tijdens de development van Adminer.” Zo blokkeert Adminer bijvoorbeeld de toegang tot databases zonder een wachtwoord aan de back-end. Ook wordt het aantal pogingen om verbindingen te maken beperkt als bescherming tegen bruteforce-aanvallen en SQL injection.

Het plug-and-play principe van Adminer betekent verder dat je het meteen van je server kan verwijderen wanneer je het niet meer nodig hebt. Wil je het later toch weer gebruiken, dan hoef je het alleen maar weer te uploaden. Dat werkt niet bij phpMyAdmin.

Door de login-ssl plugin van Adminer te gebruiken kan je verbinding maken met je MySQL database server via SSL. Het dashboard van Adminer maakt ook een melding aan wanneer er een nieuwe versie beschikbaar is, zodat je altijd de nieuwste versie gebruikt.

Adminer en phpMyAdmin: Prestaties

Volgens een onafhankelijke test van Juraj Hajdúch is Adminer gemiddeld 28% sneller dan phpMyAdmin. Deze resultaten stammen nog uit 2009, toen Adminer nog maar net bestond, maar is momenteel nog de enige echt onafhankelijk performancetest.

Aangezien Adminer bestaat uit slechts één licht bestand, kan je het gebruiken op zelfs de meest beperkte server.

Adminer en phpMyAdmin: Gebruikerservaring

Het gebruik van Adminer is supereenvoudig, anders dan bij phpMyAdmin. Je hoeft niet langs allerlei configuraties of instellingen. Het werkt gewoon meteen.

Adminer biedt ook een betere en vriendelijker gebruikersinterface. Het aanpassen van tabellen, kolommen en de onderliggende waarden is verrassend eenvoudig met Adminer. Hetzelfde geldt voor het importeren van een database en het maken van back-ups.

Verder maken de plugins en thema’s van Adminer het mogelijk om de functies en interface aan te passen aan jouw eigen voorkeuren. Qua user experience is Adminer dus een duidelijke winnaar.

Adminer en phpMyAdmin: Bestandsgrootte

Adminer is een compacte database managementtool. Het is minstens 28 x zo klein als phpMyAdmin, terwijl het tegelijkertijd meer databasetypes ondersteunt.

De laatste volledige versie van Adminer (v4.7.8) is slechts 478 KB groot, terwijl phpMyAdmin (v5.0.4) 13,7 MB aan ruimte inneemt (en dat is dan nog een ingepakt bestand). Dat verschil wordt nog groter als je de MySQL-only versie van Adminer (354 KB) ter vergelijking neemt.

Hoe gebruik je Adminer bij WordPress?

Er is geen speciale manier waarop je Adminer moet gebruiken bij WordPress. Adminer werkt precies hetzelfde bij alle MySQL databases. Download het PHP bestand, plaats het ergens op je server en open het bestand via je browser. Na het inloggen op Adminer, kan je de database van je WordPress website ermee verkennen.

Ik raad je aan om het Adminer bestand weer van je server te verwijderen nadat je klaar bent. Als je het lange tijd ongebruikt op je server laat staan kan dat je database kwetsbaarder maken.

Er was een WordPress plugin genaamd “ari-adminer” waarmee je Adminer rechtstreeks vanuit je WordPress dashboard kon openen. Deze is echter sinds april 2019 gesloten en niet meer te downloaden vanwege een kritiek beveiligingsprobleem.

De één-na-beste manier om Adminer met WordPress te gebruiken is via DevKinsta.

DevKinsta en Adminer: Eenvoudiger WordPress databasemanagement

DevKinsta is het gratis pakket met lokale developmenttools van Kinsta, en gebruikt Adminer in de achtergrond om de databasemanager te draaien.

De database manager van DevKinsta openen
De database manager van DevKinsta openen

Klik op Database manager in je DevKinsta dashboard op Adminer te openen.

De database manager van DevKinsta is een mooiere Adminer
De database manager van DevKinsta is een mooiere Adminer

De DevKinsta databasemanager ondersteunt alle Adminer functies die we in dit artikel hebben behandeld. Je kan het gebruiken om te wisselen tussen databases, tabellen te bekijken en bewerken, de waarde van databases te veranderen, databases te importeren en exporteren, SQL query’s uit te voeren en nog veel meer.

Wanneer je meerdere website lokaal opzet met DevKinsta kan je ook vanuit het Adminer dashboard tussen de verschillende databases schakelen. Selecteer gewoon de gewenste database in het dropdownmenu linksboven.

Je kan de documentatie van DevKinsta bekijken voor meer informatie over de Database Manager.

Samenvatting

Adminer is één van de beste alternatieven voor phpMyAdmin. Het is niet alleen lichter, maar ook veel makkelijker om mee te werken. De tool wordt langzaam maar non-stop verder ontwikkeld. De nieuwste versie van Adminer biedt ondersteuning voor PHP 8 omgevingen, waardoor het toekomstbestendig blijft.

Wil je graag experimenteren met Adminer, dan kan je een lokale WordPress website maken met DevKinsta, en meteen de database gaan ontdekken via Adminer.

Nu is het jouw beurt, wat is jouw ervaring met Adminer? Heb je nog vragen over het beheren van databases via Adminer of DevKinsta? Zo ja, deel het dan in de reacties.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.